[freetds] what size indicator

James K. Lowden jklowden at schemamania.org
Thu May 27 22:42:21 EDT 2004


typedef struct tds_column
{
...
	TDS_SMALLINT *column_nullbind;
...
} TDSCOLUMN;

blk_bind(CS_BLKDESC * blkdesc, CS_INT item, CS_DATAFMT * datafmt, CS_VOID
* buffer, CS_INT * datalen, CS_SMALLINT * indicator)

dbnullbind(DBPROCESS * dbproc, int column, DBINT * indicator)
                                           ^^^^^

Bill, 

As you can see, db-lib defines the nullbind indicator as an address of a
32-bit pointer, and ct-lib a 16-bit pointer.  Compiling db-lib with a
modern compiler will yield complaints.  (I take it yours is pre-modern, or
you have the volume turned down. ;-) )

How best to resolve this?  I think we need to define it as 32-bits in
TDSCOLUMN, and cast the ct-lib down to 16.  I don't think anything else is
safe.  But I thought I'd check.  

Interestingly, the bugger used to be (as you know) CHAR*.  I wonder why I
never saw this warning before.

Regards, 

--jkl







More information about the FreeTDS mailing list