This function frees an Ns_PdRowInfo data structure.
void Ns_PdFreeRowInfo(Ns_PdRowInfo * rowInfo, int fFreeData)
If fFreeData is a non-zero value, then this function frees the data associated with the Ns_PdRowData structure (encapsulated in Ns_PdRowInfo) as well.
/* Things italicized would be your DBMS-specific structures and calls. */ /* defined in nspd.h */ typedef struct Ns_PdRowData {int elSize; char *elData;} Ns_PdRowData; typedef struct Ns_PdRowInfo { int numColumns; Ns_PdRowData *rowData; }; void DBMSFunction (void) { Ns_PdRowInfo *getRowInfo, *bindRowInfo; if ((bindRowInfo = DBMSBindRow(state)) != NULL) { if ((getRowInfo = Ns_PdNewRowInfo(Ns_PdGetRowInfoNumColumns(bindRowInfo))) != NULL) { /* process getRowInfo */ /* ... */ /* free the getRowInfo structure when done */ Ns_PdFreeRowInfo(getRowInfo, 0); } /* free the bindRowInfo data and structure when done */ Ns_PdFreeRowInfo(bindRowInfo, 1); } }