Ruslan A Dautkhanov wrote: > Btw, how I can convert TEXT field to a CString one? I had tried to use > char *cnum = PG_GETARG_CSTRING(0) instead of > text tnum = PG_GETARG_NAME(0), but it's not worked properly. Is any function > to convert text object to a null-terminated string??? Thanks again. >
I like to use the following macros: /* convert C string to text pointer */ #define GET_TEXT(cstrp) \ DatumGetTextP(DirectFunctionCall1(textin, CStringGetDatum(cstrp))) /* convert text pointer to C string */ #define GET_STR(textp) \ DatumGetCString(DirectFunctionCall1(textout, PointerGetDatum(textp))) then you can do, e.g. char *cnum = GET_STR(PG_GETARG_TEXT_P(0)); BTW, there are lots of good examples of C functions in contrib. HTH, Joe ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]