Mercurial > trustbridge > trustbridge
comparison ui/listutil.c @ 9:2ad9a96518e3
Actually parse all elements in the list
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Wed, 12 Feb 2014 18:45:13 +0000 |
parents | 992c0ec57660 |
children | 58d51a91d448 |
comparison
equal
deleted
inserted
replaced
8:c7da699f0310 | 9:2ad9a96518e3 |
---|---|
57 | 57 |
58 *size = (size_t) fileStat.st_size; | 58 *size = (size_t) fileStat.st_size; |
59 | 59 |
60 *data = (char*) malloc(*size); | 60 *data = (char*) malloc(*size); |
61 | 61 |
62 if (data == NULL) { | 62 if (*data == NULL) { |
63 printf("Malloc failed\n"); | 63 printf("Malloc failed\n"); |
64 retval = UnknownError; | 64 retval = UnknownError; |
65 goto cleanup; | 65 goto cleanup; |
66 } | 66 } |
67 | 67 |
94 } | 94 } |
95 | 95 |
96 list_status_t readAndVerifyList(const char *fileName, char **data, size_t *size) | 96 list_status_t readAndVerifyList(const char *fileName, char **data, size_t *size) |
97 { | 97 { |
98 // int validSig = 0; | 98 // int validSig = 0; |
99 char ** firstChar = NULL; | 99 char * signature = NULL; |
100 | 100 |
101 list_status_t retval = UnknownError; | 101 list_status_t retval = UnknownError; |
102 *data = NULL; | 102 *data = NULL; |
103 *size = 0; | 103 *size = 0; |
104 | 104 |
109 return retval; | 109 return retval; |
110 } | 110 } |
111 | 111 |
112 if (!data || !*size) { | 112 if (!data || !*size) { |
113 // should not have happend if readList works as specified | 113 // should not have happend if readList works as specified |
114 printf ("No data or no size\n"); | |
115 printf ("%ld\n", (long)data); | |
116 return UnknownError; | 114 return UnknownError; |
117 } | 115 } |
118 | 116 |
119 firstChar = (char**) data; | 117 signature = *data; |
120 | 118 |
121 if (**firstChar != 'S') { | 119 if (*signature != 'S') { |
122 printf("Does not start with S\n"); | 120 printf("Does not start with S\n"); |
123 retval = InvalidFormat; | 121 retval = InvalidFormat; |
124 goto cleanup; | 122 goto cleanup; |
125 } | 123 } |
126 | 124 |
127 // TODO VERIFIY | 125 // TODO VERIFIY |
128 retval = Valid; | 126 retval = Valid; |
127 | |
128 // Maybe check if all bytes are < 127 and > 0 | |
129 | 129 |
130 cleanup: | 130 cleanup: |
131 if (retval != Valid && *data) { | 131 if (retval != Valid && *data) { |
132 free(*data); | 132 free(*data); |
133 *data = NULL; | 133 *data = NULL; |