Re: Fix inappropriate uses of atol()
| От | Tom Lane |
|---|---|
| Тема | Re: Fix inappropriate uses of atol() |
| Дата | |
| Msg-id | 4169218.1722698413@sss.pgh.pa.us обсуждение |
| Ответ на | Re: Fix inappropriate uses of atol() (Heikki Linnakangas <hlinnaka@iki.fi>) |
| Ответы |
Re: Fix inappropriate uses of atol()
|
| Список | pgsql-hackers |
Heikki Linnakangas <hlinnaka@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
В списке pgsql-hackers по дате отправления: