Re: Remove unnecessary static type qualifiers
От | David Rowley |
---|---|
Тема | Re: Remove unnecessary static type qualifiers |
Дата | |
Msg-id | CAApHDvq2bO5+i4Y4N5Xd1kk6wJ_mRanRKSEiXb1tnLug3_9E1A@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Remove unnecessary static type qualifiers (Peter Eisentraut <peter@eisentraut.org>) |
Ответы |
Re: Remove unnecessary static type qualifiers
|
Список | pgsql-hackers |
On Wed, 9 Apr 2025 at 03:46, Peter Eisentraut <peter@eisentraut.org> wrote: > To avoid creating an array on the stack, you could maybe write it with a > pointer instead, like: > > const char * const query = "..."; > > I haven't tested whether that results in different or better compiled > code. The original code is probably good enough. I expect it's been done the way it has to make the overflow detection code work. The problem with having a pointer to a string constant is that sizeof() will return the size of the pointer and not the space needed to store the string. We can get rid of the variable and make the overflow work by checking the return length of snprintf. I think that's all C99 spec now... len = snprintf(qbuf, "set client_encoding to '%s'", encoding); /* check query buffer overflow */ if (len >= sizeof(qbuf)) return -1; David
В списке pgsql-hackers по дате отправления: