Alexandre
PHPПенсионер
UDF: длинный строковый результат > 256
В комментариях к udf_example.c написано, что я могу использовать внутренний буфер входного параметра char* result, который ограничен 256 симв.
вопрос:
1) если я вывожу более 256 символов, то я должен организовать такой буфер сам.? т.е. переменную char* result не трогаю
2) если я организую вых. буфер, 256 символов, то я возвращаю указатель на буфер. Должен ли я в этом случае присваивать что-то в переменную result ? и как быть в этом случае с ограничением 256 символов.
-~{}~ 27.12.07 19:05:
решается сл. образом:
В комментариях к udf_example.c написано, что я могу использовать внутренний буфер входного параметра char* result, который ограничен 256 симв.
вопрос:
1) если я вывожу более 256 символов, то я должен организовать такой буфер сам.? т.е. переменную char* result не трогаю
2) если я организую вых. буфер, 256 символов, то я возвращаю указатель на буфер. Должен ли я в этом случае присваивать что-то в переменную result ? и как быть в этом случае с ограничением 256 символов.
-~{}~ 27.12.07 19:05:
решается сл. образом:
Код:
my_bool myudf_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
{
initid->max_length=BUFSIZE;
initid->ptr = malloc( BUFSIZE);
if (!initid->ptr)
{
strcpy(message,"Memory error");
return 1;
}
return 0;
}
void myudf_deinit(UDF_INIT *initid __attribute__((unused)))
{
if (initid->ptr) free(initid->ptr);
}