Thread: VARDATA strangness!!!

VARDATA strangness!!!

From
Lonnie Cumberland
Date:
Hello All,

I have been working very hard to try and figure out how to get my existing
functions to work in my Postgresql "C" extensions.

I have run across something strange I think.

My original functions have a prototype like:

string EncryptString(const char *plaintext, const char *passPhrase);
string DecryptString(const char *ciphertext, const char *passPhrase);

and my extencions file is trying to get them in the form:

// These are the DES Crypto functions
text *desencrypt(text *plaintext, text *passPhrase);
text *desdecrypt(text *ciphertext, text *passPhrase);

The problem is that I cannot seem to get the VARDATA and VARSIZE to work
correctly and the VARSIZE always seems to be 4 bytes longer for each of the
input variables.

Does anyone have any ideas?

I tried to work along the copy_text() demo in the funcs.c example but this does
not seem to work.

In anycase, inside my existing functions, I need to be able to work with "char
*plaintext", "char *ciphertext", and "char *passPhrase"

How can I encapsulate my existing functions for this with "text *" inputs.

Cheers :( :( :( :( :( :(

__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - buy the things you want at great prices
http://auctions.yahoo.com/


Re: VARDATA strangness!!!

From
Peter Eisentraut
Date:
Lonnie Cumberland writes:

> The problem is that I cannot seem to get the VARDATA and VARSIZE to work
> correctly and the VARSIZE always seems to be 4 bytes longer for each of the
> input variables.

VARSIZE includes the size required to store the VARSIZE, i.e., a 4 byte
integer.

-- 
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter