#include #include "internal.h" static int n_conn_private = 0; int lx_new_conn_private(void) { return(n_conn_private++); } void *lx_get_private(LX_CONN *xc, int x) { if ((x < 0) || (x >= n_conn_private)) { lx__bad_call(xc,"lx_get_private"); return(0); } if (x >= xc->npriv) return(0); return(xc->privv[x]); } void *lx_set_private(LX_CONN *xc, int x, void *v) { void **newv; void *old; if ((x < 0) || (x >= n_conn_private)) { lx__bad_call(xc,"lx_set_private"); return(0); } if (x >= xc->npriv) { newv = realloc(xc->privv,(x+1)*sizeof(void *)); if (! newv) { lx__nomem_fail(xc); return(0); } xc->privv = newv; xc->npriv = x + 1; } old = xc->privv[x]; xc->privv[x] = v; return(old); }