It was a stupid error on my part.
I was declaring the function to return varchar when i was actually returning integer. Also, i looked at varchar.c which was a great help.
It had a function that shows how to convert varchar to cstring.
Thanks tom,
vish
On 12/12/05, vishal saberwal <[EMAIL PROTECTED]> wrote:
i am sorry for misleading subject line ...
thanks for your tip.
Perhaps fmgr has more in it that i need to understand and study so as to convert text/varchar to char* .
thanks,
vishOn 12/12/05, Tom Lane < [EMAIL PROTECTED]> wrote:vishal saberwal <[EMAIL PROTECTED]> writes:
> xy_db=# create or replace function file_check(varchar) returns varchar as
> xy_db-# '/root/resource_test.so','file_check' language 'c';
> CREATE FUNCTION
> k2_db=# select file_check('/ResourceFS/IconFS/Alarm/My.gif');
> server closed the connection unexpectedly
This is not a file permissions problem ... more likely, your C function
is wrong and is dumping core. Getting out your debugger would be a good
response.
> char *filecmd = (char*) PG_GETARG_VARCHAR_P(0);
However, I can point you in the right direction: you can't just cast a
varchar * to char *, they are not remotely the same thing.
regards, tom lane