Passing character data to C function

Started by Philip Comptonover 23 years ago2 messagesbugs
Jump to latest
#1Philip Compton
pcompton@mcs.vuw.ac.nz

After days of researching this problem all I find is that knowbody has done
this successfully and documented it for me to find. I cannot determine if it
is a bug or my incorrect development structure to blame.

I would like to pass character data from postgreSQL 7.1.3 user function into a
C program.

This is my setup:

CREATE FUNCTION pc_fn(char(50), char(50), char(255)) RETURNS Boolean
AS '/u/students/pcompton/comp442/ass4/pc_fn.so' LANGUAGE 'C';

//C function prototype
int pc_fn(char* a1,char* a2,char* a3){...}
or
int pc_fn(char a1[50],char a2[50],char a3[255]){...}

fails to work. The function _is_ called and I can _log output_ as it executes,
but no character data shows up in the arguments.

Thank you.
Phil Compton

#2Peter Eisentraut
peter_e@gmx.net
In reply to: Philip Compton (#1)
Re: Passing character data to C function

Philip Compton writes:

CREATE FUNCTION pc_fn(char(50), char(50), char(255)) RETURNS Boolean
AS '/u/students/pcompton/comp442/ass4/pc_fn.so' LANGUAGE 'C';

//C function prototype
int pc_fn(char* a1,char* a2,char* a3){...}
or
int pc_fn(char a1[50],char a2[50],char a3[255]){...}

fails to work. The function _is_ called and I can _log output_ as it executes,
but no character data shows up in the arguments.

Have you read the documentation? That works a lot better than making
stuff up and wondering why it doesn't work. ;-)

--
Peter Eisentraut peter_e@gmx.net