Heikki Linnakangas <hlinn...@iki.fi> writes: > On 03/08/2024 14:04, Peter Eisentraut wrote: >> I noticed (during [0]) to some uses of the function atol() seem >> inappropriate.
> +1 except for this one: >> /* If we have just one character this is not a string */ >> - if (atol(p->type->size) == 1) >> + if (atoi(p->type->size) == 1) >> mmerror(PARSE_ERROR, ET_ERROR, "invalid data >> type"); How about - if (atol(p->type->size) == 1) + if (strcmp(p->type->size, "1") == 0) ? I've not actually tested, but this should catch the cases the warning is meant to catch while not complaining about any of the examples you give. I'm not sure if leading/trailing spaces would fool it (i.e., "char foo[ 1 ];"). But even if they do, that doesn't seem disastrous. regards, tom lane