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