Peter Eisentraut ha scritto:
> 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.
>
>   
I found these defines into the contrib section:

#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

Reply via email to