removed unnecessary code in some initialization code.

added errnum to some open functions
This commit is contained in:
2015-06-12 13:11:50 +00:00
parent 7675a86234
commit 26440f1a96
22 changed files with 75 additions and 62 deletions

View File

@ -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;

View File

@ -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;
}