Re: more psprintf() use
| От | Andres Freund |
|---|---|
| Тема | Re: more psprintf() use |
| Дата | |
| Msg-id | 20140102085334.GB2683@awork2.anarazel.de обсуждение исходный текст |
| Ответ на | Re: more psprintf() use (Heikki Linnakangas <hlinnakangas@vmware.com>) |
| Ответы |
Re: more psprintf() use
|
| Список | pgsql-hackers |
On 2014-01-02 09:49:48 +0200, Heikki Linnakangas wrote:
> On 01/02/2014 05:14 AM, Peter Eisentraut wrote:
> >diff --git a/contrib/hstore/hstore_io.c b/contrib/hstore/hstore_io.c
> >index 772a5ca..8331a56 100644
> >--- a/contrib/hstore/hstore_io.c
> >+++ b/contrib/hstore/hstore_io.c
> >@@ -1114,11 +1114,7 @@
> > HEntry *entries = ARRPTR(in);
> >
> > if (count == 0)
> >- {
> >- out = palloc(1);
> >- *out = '\0';
> >- PG_RETURN_CSTRING(out);
> >- }
> >+ PG_RETURN_CSTRING("");
> >
> > buflen = 0;
>
> Is it legal to return a constant with PG_RETURN_CSTRING? Grepping around, I
> don't see that being done anywhere else, but there are places that do
> PG_RETURN_CSTRING(pstrdup(<constant>))...
I don't see why it wouldn't be legal - constant strings have static
storage duration, i.e. the program lifetime. And I can see nothing that
would allow pfree()ing the return value of cstring returning functions
in the general case.
Greetings,
Andres Freund
-- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services
В списке pgsql-hackers по дате отправления: