removed unnecessary code in some initialization code.
added errnum to some open functions
This commit is contained in:
@ -71,9 +71,9 @@ typedef struct xtn_t
|
||||
qse_xli_ecb_t ecb;
|
||||
} xtn_t;
|
||||
|
||||
qse_xli_t* qse_xli_openstd (qse_size_t xtnsize, qse_size_t rootxtnsize)
|
||||
qse_xli_t* qse_xli_openstd (qse_size_t xtnsize, qse_size_t rootxtnsize, qse_xli_errnum_t* errnum)
|
||||
{
|
||||
return qse_xli_openstdwithmmgr (QSE_MMGR_GETDFL(), xtnsize, rootxtnsize);
|
||||
return qse_xli_openstdwithmmgr (QSE_MMGR_GETDFL(), xtnsize, rootxtnsize, errnum);
|
||||
}
|
||||
|
||||
static void fini_xtn (qse_xli_t* xli)
|
||||
@ -86,18 +86,19 @@ static void clear_xtn (qse_xli_t* xli)
|
||||
/* nothing to do */
|
||||
}
|
||||
|
||||
qse_xli_t* qse_xli_openstdwithmmgr (qse_mmgr_t* mmgr, qse_size_t xtnsize, qse_size_t rootxtnsize)
|
||||
qse_xli_t* qse_xli_openstdwithmmgr (qse_mmgr_t* mmgr, qse_size_t xtnsize, qse_size_t rootxtnsize, qse_xli_errnum_t* errnum)
|
||||
{
|
||||
qse_xli_t* xli;
|
||||
xtn_t* xtn;
|
||||
|
||||
/* create an object */
|
||||
xli = qse_xli_open (mmgr, QSE_SIZEOF(xtn_t) + xtnsize, rootxtnsize);
|
||||
xli = qse_xli_open (mmgr, QSE_SIZEOF(xtn_t) + xtnsize, rootxtnsize, errnum);
|
||||
if (xli == QSE_NULL) goto oops;
|
||||
|
||||
/* initialize extension */
|
||||
xtn = (xtn_t*) QSE_XTN (xli);
|
||||
QSE_MEMSET (xtn, 0, QSE_SIZEOF(*xtn));
|
||||
/* the extension area has been cleared in qse_httpd_open().
|
||||
* QSE_MEMSET (xtn, 0, QSE_SIZEOF(*xtn));*/
|
||||
|
||||
xtn->ecb.close = fini_xtn;
|
||||
xtn->ecb.clear = clear_xtn;
|
||||
|
@ -32,7 +32,7 @@ static void free_val (qse_xli_root_list_t* xli, qse_xli_val_t* val);
|
||||
static void free_list (qse_xli_root_list_t* xli, qse_xli_list_t* list);
|
||||
static void free_atom (qse_xli_root_list_t* xli, qse_xli_atom_t* atom);
|
||||
|
||||
qse_xli_t* qse_xli_open (qse_mmgr_t* mmgr, qse_size_t xtnsize, qse_size_t rootxtnsize)
|
||||
qse_xli_t* qse_xli_open (qse_mmgr_t* mmgr, qse_size_t xtnsize, qse_size_t rootxtnsize, qse_xli_errnum_t* errnum)
|
||||
{
|
||||
qse_xli_t* xli;
|
||||
|
||||
@ -41,11 +41,13 @@ qse_xli_t* qse_xli_open (qse_mmgr_t* mmgr, qse_size_t xtnsize, qse_size_t rootxt
|
||||
{
|
||||
if (qse_xli_init (xli, mmgr, rootxtnsize) <= -1)
|
||||
{
|
||||
if (errnum) *errnum = qse_xli_geterrnum(xli);
|
||||
QSE_MMGR_FREE (mmgr, xli);
|
||||
return QSE_NULL;
|
||||
}
|
||||
else QSE_MEMSET (QSE_XTN(xli), 0, xtnsize);
|
||||
}
|
||||
else if (errnum) *errnum = QSE_XLI_ENOMEM;
|
||||
|
||||
return xli;
|
||||
}
|
||||
|
Reference in New Issue
Block a user