Re: Getting Text data as C string
От | Denis Gasparin |
---|---|
Тема | Re: Getting Text data as C string |
Дата | |
Msg-id | 45F55C00.3040206@edistar.com обсуждение исходный текст |
Ответ на | Re: Getting Text data as C string (Peter Eisentraut <peter_e@gmx.net>) |
Список | pgsql-general |
Peter Eisentraut ha scritto:
#define GET_STR(textp) DatumGetCString(DirectFunctionCall1(textout, PointerGetDatum(textp)))
#define GET_TEXT(cstrp) DatumGetTextP(DirectFunctionCall1(textin, CStringGetDatum(cstrp)))
So i can safely use them to obtain a string pointer from a text pointer and viceversa.
I tried and all seemed to work ok.
Thank you,
Denis
I found these defines into the contrib section:Am Montag, 12. März 2007 12:47 schrieb Denis Gasparin:I wrote a simple c stored procedure that accepts only one text parameter that i want to convert to a c string. The problem is that i obtain the C string correctly but with spurious characters at the end... I use these calls to obtain the c string:The data in a text datum is not null terminated. You need to call the function textout() to convert. Grep the source code for examples of invoking it.
#define GET_STR(textp) DatumGetCString(DirectFunctionCall1(textout, PointerGetDatum(textp)))
#define GET_TEXT(cstrp) DatumGetTextP(DirectFunctionCall1(textin, CStringGetDatum(cstrp)))
So i can safely use them to obtain a string pointer from a text pointer and viceversa.
I tried and all seemed to work ok.
Thank you,
Denis
В списке pgsql-general по дате отправления: