Using the XSQLDA_LENGTH Macro
Go Up to Understanding the XSQLDA
The ibase.h header file defines a macro, XSQLDA_LENGTH, to calculate the number of bytes that must be allocated for an input or output XSQLDA. XSQLDA_LENGTH is defined as follows:
#define XSQLDA_LENGTH (n) (sizeof (XSQLDA) + (n – 1) * sizeof(XSQLVAR))
<n> is the number of parameters in a statement string, or the number of select-list items returned from a query. For example, the following C statement uses the XSQLDA_LENGTH macro to specify how much memory to allocate for an XSQLDA with 5 parameters or return items:
XSQLDA *my_xsqlda; . . . my_xsqlda = (XSQLDA *)malloc(XSQLDA_LENGTH(5)); . . .
For more information about using the XSQLDA_LENGTH macro, see DSQL Programming Methods.