Re: C Programming with postgres.h - my function crashes
| От | Jan Wieck |
|---|---|
| Тема | Re: C Programming with postgres.h - my function crashes |
| Дата | |
| Msg-id | 3FCCDFCE.8020107@Yahoo.com обсуждение исходный текст |
| Ответ на | Re: C Programming with postgres.h - my function crashes the database backend (Alvaro Herrera <alvherre@dcc.uchile.cl>) |
| Ответы |
Re: C Programming with postgres.h - my function crashes
|
| Список | pgsql-general |
Alvaro Herrera wrote:
> On Tue, Dec 02, 2003 at 05:56:45PM +0000, Alex Page wrote:
>
>> Datum enum_gender_in(PG_FUNCTION_ARGS) {
>> text *invalue = PG_GETARG_TEXT_P(0);
>>
>> if ( strcmp ( VARDATA(invalue), "Male" ) ) { /* VARDATA gets the data portion of a "varlena" struct,
whichis typedef'd to "text" */
>> PG_RETURN_INT32( 0 );
>> }
>> PG_RETURN_INT32( 1 );
>> }
>
> VARDATA is not 0-terminated, so you can't use strcmp on it. Maybe you
> should use memcmp instead.
>
First of all, the argument to a type input procedure is a nul terminated
CString, not text.
Alex, why don't you look at an existing datatype in backend/utils/adt?
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck@Yahoo.com #
В списке pgsql-general по дате отправления: