diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/parse_ini.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/lib/parse_ini.c b/lib/parse_ini.c index a5b3d30..b33ce08 100644 --- a/lib/parse_ini.c +++ b/lib/parse_ini.c | |||
@@ -166,7 +166,7 @@ read_defaults(FILE *f, const char *stanza, np_arg_list **opts) | |||
166 | c = fgetc(f); | 166 | c = fgetc(f); |
167 | /* Strip leading whitespace */ | 167 | /* Strip leading whitespace */ |
168 | if (i == 0) | 168 | if (i == 0) |
169 | for (c; isspace(c); c = fgetc(f)) | 169 | for (; isspace(c); c = fgetc(f)) |
170 | continue; | 170 | continue; |
171 | /* nope, read to the end of the line */ | 171 | /* nope, read to the end of the line */ |
172 | if (c != stanza[i]) { | 172 | if (c != stanza[i]) { |
@@ -178,7 +178,7 @@ read_defaults(FILE *f, const char *stanza, np_arg_list **opts) | |||
178 | if (i == stanza_len) { | 178 | if (i == stanza_len) { |
179 | c = fgetc(f); | 179 | c = fgetc(f); |
180 | /* Strip trailing whitespace */ | 180 | /* Strip trailing whitespace */ |
181 | for (c; isspace(c); c = fgetc(f)) | 181 | for (; isspace(c); c = fgetc(f)) |
182 | continue; | 182 | continue; |
183 | if (c == ']') | 183 | if (c == ']') |
184 | stanzastate = RIGHTSTANZA; | 184 | stanzastate = RIGHTSTANZA; |
@@ -193,7 +193,6 @@ read_defaults(FILE *f, const char *stanza, np_arg_list **opts) | |||
193 | case NOSTANZA: | 193 | case NOSTANZA: |
194 | die(STATE_UNKNOWN, "%s\n", | 194 | die(STATE_UNKNOWN, "%s\n", |
195 | _("Config file error")); | 195 | _("Config file error")); |
196 | break; | ||
197 | /* we're in a stanza, but for a different plugin */ | 196 | /* we're in a stanza, but for a different plugin */ |
198 | case WRONGSTANZA: | 197 | case WRONGSTANZA: |
199 | GOBBLE_TO(f, c, '\n'); | 198 | GOBBLE_TO(f, c, '\n'); |
@@ -226,7 +225,7 @@ add_option(FILE *f, np_arg_list **optlst) | |||
226 | { | 225 | { |
227 | np_arg_list *opttmp = *optlst, *optnew; | 226 | np_arg_list *opttmp = *optlst, *optnew; |
228 | char *linebuf = NULL, *lineend = NULL, *optptr = NULL, *optend = NULL; | 227 | char *linebuf = NULL, *lineend = NULL, *optptr = NULL, *optend = NULL; |
229 | char *eqptr = NULL, *valptr = NULL, *spaceptr = NULL, *valend = NULL; | 228 | char *eqptr = NULL, *valptr = NULL, *valend = NULL; |
230 | short done_reading = 0, equals = 0, value = 0; | 229 | short done_reading = 0, equals = 0, value = 0; |
231 | size_t cfg_len = 0, read_sz = 8, linebuf_sz = 0, read_pos = 0; | 230 | size_t cfg_len = 0, read_sz = 8, linebuf_sz = 0, read_pos = 0; |
232 | size_t opt_len = 0, val_len = 0; | 231 | size_t opt_len = 0, val_len = 0; |
@@ -240,7 +239,7 @@ add_option(FILE *f, np_arg_list **optlst) | |||
240 | if (linebuf == NULL) | 239 | if (linebuf == NULL) |
241 | die(STATE_UNKNOWN, _("malloc() failed!\n")); | 240 | die(STATE_UNKNOWN, _("malloc() failed!\n")); |
242 | } | 241 | } |
243 | if (fgets(&linebuf[read_pos], read_sz, f) == NULL) | 242 | if (fgets(&linebuf[read_pos], (int)read_sz, f) == NULL) |
244 | done_reading = 1; | 243 | done_reading = 1; |
245 | else { | 244 | else { |
246 | read_pos = strlen(linebuf); | 245 | read_pos = strlen(linebuf); |
@@ -278,10 +277,10 @@ add_option(FILE *f, np_arg_list **optlst) | |||
278 | continue; | 277 | continue; |
279 | --valend; | 278 | --valend; |
280 | /* Finally trim off trailing spaces */ | 279 | /* Finally trim off trailing spaces */ |
281 | for (valend; isspace(*valend); valend--) | 280 | for (; isspace(*valend); valend--) |
282 | continue; | 281 | continue; |
283 | /* calculate the length of "--foo" */ | 282 | /* calculate the length of "--foo" */ |
284 | opt_len = 1 + optend - optptr; | 283 | opt_len = (size_t)(1 + optend - optptr); |
285 | /* 1-character params needs only one dash */ | 284 | /* 1-character params needs only one dash */ |
286 | if (opt_len == 1) | 285 | if (opt_len == 1) |
287 | cfg_len = 1 + (opt_len); | 286 | cfg_len = 1 + (opt_len); |
@@ -290,7 +289,7 @@ add_option(FILE *f, np_arg_list **optlst) | |||
290 | /* if valptr<lineend then we have to also allocate space for "=bar" */ | 289 | /* if valptr<lineend then we have to also allocate space for "=bar" */ |
291 | if (valptr < lineend) { | 290 | if (valptr < lineend) { |
292 | equals = value = 1; | 291 | equals = value = 1; |
293 | val_len = 1 + valend - valptr; | 292 | val_len = (size_t)(1 + valend - valptr); |
294 | cfg_len += 1 + val_len; | 293 | cfg_len += 1 + val_len; |
295 | } | 294 | } |
296 | /* if valptr==valend then we have "=" but no "bar" */ | 295 | /* if valptr==valend then we have "=" but no "bar" */ |