added qse_httpd_getserveroptstd() and qse_httpd_setserveroptstd().

added an output length parameter to qse_mbstowcsdup() and similar functions
This commit is contained in:
2012-10-18 06:52:03 +00:00
parent 8f5a0a3933
commit e2f152c927
30 changed files with 473 additions and 265 deletions

View File

@ -140,24 +140,28 @@ int qse_mbsntowcsnuptowithcmgr (
qse_wchar_t* qse_mbstowcsdupwithcmgr (
const qse_mchar_t* mbs,
qse_size_t* wcslen,
qse_mmgr_t* mmgr,
qse_cmgr_t* cmgr
);
qse_wchar_t* qse_mbstowcsalldupwithcmgr (
const qse_mchar_t* mbs,
qse_size_t* wcslen,
qse_mmgr_t* mmgr,
qse_cmgr_t* cmgr
);
qse_wchar_t* qse_mbsatowcsdupwithcmgr (
const qse_mchar_t* mbs[],
qse_size_t* wcslen,
qse_mmgr_t* mmgr,
qse_cmgr_t* cmgr
);
qse_wchar_t* qse_mbsatowcsalldupwithcmgr (
const qse_mchar_t* mbs[],
qse_size_t* wcslen,
qse_mmgr_t* mmgr,
qse_cmgr_t* cmgr
);
@ -183,24 +187,34 @@ int qse_wcsntombsnwithcmgr (
qse_mchar_t* qse_wcstombsdupwithcmgr (
const qse_wchar_t* wcs,
qse_size_t* mbslen,
qse_mmgr_t* mmgr,
qse_cmgr_t* cmgr
);
qse_mchar_t* qse_wcntombsdupwithcmgr (
const qse_wchar_t* wcs,
qse_size_t len,
qse_size_t wcslen,
qse_size_t* mbslen,
qse_mmgr_t* mmgr,
qse_cmgr_t* cmgr
);
qse_mchar_t* qse_wcsatombsdupwithcmgr (
const qse_wchar_t* wcs[],
qse_size_t* mbslen,
qse_mmgr_t* mmgr,
qse_cmgr_t* cmgr
);
qse_mchar_t* qse_wcsnatombsdupwithcmgr (
const qse_wcstr_t wcs[],
qse_size_t* mbslen,
qse_mmgr_t* mmgr,
qse_cmgr_t* cmgr
);
/* --------------------------------------------------- */
/* STRING CONVERSION WITH DEFAULT GLOBAL CMGR */
/* --------------------------------------------------- */
@ -283,21 +297,25 @@ int qse_mbsntowcsnupto (
qse_wchar_t* qse_mbstowcsdup (
const qse_mchar_t* mbs,
qse_size_t* wcslen,
qse_mmgr_t* mmgr
);
qse_wchar_t* qse_mbstowcsalldup (
const qse_mchar_t* mbs,
qse_size_t* wcslen,
qse_mmgr_t* mmgr
);
qse_wchar_t* qse_mbsatowcsdup (
const qse_mchar_t* mbs[],
qse_size_t* wcslen,
qse_mmgr_t* mmgr
);
qse_wchar_t* qse_mbsatowcsalldup (
const qse_mchar_t* mbs[],
qse_size_t* wcslen,
qse_mmgr_t* mmgr
);
@ -373,20 +391,29 @@ int qse_wcsntombsn (
qse_mchar_t* qse_wcstombsdup (
const qse_wchar_t* wcs,
qse_size_t* mbslen,
qse_mmgr_t* mmgr
);
qse_mchar_t* qse_wcsntombsdup (
const qse_wchar_t* wcs,
qse_size_t len,
qse_size_t wcslen,
qse_size_t* mbslen,
qse_mmgr_t* mmgr
);
qse_mchar_t* qse_wcsatombsdup (
const qse_wchar_t* wcs[],
qse_size_t* mbslen,
qse_mmgr_t* mmgr
);
qse_mchar_t* qse_wcsnatombsdup (
const qse_wcstr_t wcs[],
qse_size_t* mbslen,
qse_mmgr_t* mmgr
);
#ifdef __cplusplus
}
#endif

View File

@ -257,7 +257,7 @@ struct qse_httpd_rcb_t
int (*handle_request) (
qse_httpd_t* httpd, qse_httpd_client_t* client, qse_htre_t* req);
int (*format_error) (
int (*format_err) (
qse_httpd_t* httpd, qse_httpd_client_t* client,
int code, qse_mchar_t* buf, int bufsz);
int (*format_dir) (
@ -363,7 +363,7 @@ enum qse_httpd_rsrc_type_t
QSE_HTTPD_RSRC_AUTH,
QSE_HTTPD_RSRC_CGI,
QSE_HTTPD_RSRC_DIR,
QSE_HTTPD_RSRC_ERROR,
QSE_HTTPD_RSRC_ERR,
QSE_HTTPD_RSRC_FILE,
QSE_HTTPD_RSRC_PROXY,
QSE_HTTPD_RSRC_RELOC,
@ -399,7 +399,7 @@ struct qse_httpd_rsrc_t
struct
{
int code;
} error;
} err;
struct
{
@ -489,30 +489,20 @@ struct qse_httpd_server_idxstd_t
const qse_mchar_t* name;
};
enum qse_httpd_server_xtn_cfg_idx_t
enum qse_httpd_server_optstd_t
{
QSE_HTTPD_SERVER_XTN_CFG_DOCROOT = 0,
QSE_HTTPD_SERVER_XTN_CFG_REALM,
QSE_HTTPD_SERVER_XTN_CFG_USERNAME,
QSE_HTTPD_SERVER_XTN_CFG_PASSWORD,
QSE_HTTPD_SERVER_XTN_CFG_BASICAUTH,
QSE_HTTPD_SERVER_XTN_CFG_DIRCSS, /* can't be too long due to internal buffer size */
QSE_HTTPD_SERVER_XTN_CFG_ERRORCSS,
QSE_HTTPD_SERVER_XTN_CFG_MAX
};
QSE_HTTPD_SERVER_DOCROOT = 0, /* const qse_mchar_t* */
QSE_HTTPD_SERVER_REALM, /* const qse_mchar_t* */
QSE_HTTPD_SERVER_AUTH, /* const qse_mchar_t* */
QSE_HTTPD_SERVER_DIRCSS, /* const qse_mchar_t* */
QSE_HTTPD_SERVER_ERRCSS, /* const qse_mchar_t* */
struct qse_httpd_server_xtn_t
{
qse_mchar_t* cfg[QSE_HTTPD_SERVER_XTN_CFG_MAX];
qse_httpd_server_cbstd_t* cbstd;
qse_httpd_server_cgistd_t* cgistd;
qse_httpd_server_mimestd_t* mimestd;
qse_httpd_server_idxstd_t* idxstd;
/* private */
qse_httpd_server_predetach_t predetach;
QSE_HTTPD_SERVER_CBSTD, /* qse_httpd_server_cbstd_t* */
QSE_HTTPD_SERVER_CGISTD, /* qse_httpd_server_cgistd_t[] */
QSE_HTTPD_SERVER_MIMESTD, /* qse_httpd_server_mimestd_t[] */
QSE_HTTPD_SERVER_IDXSTD /* qse_httpd_server_idxstd_t[] */
};
typedef struct qse_httpd_server_xtn_t qse_httpd_server_xtn_t;
typedef enum qse_httpd_server_optstd_t qse_httpd_server_optstd_t;
#ifdef __cplusplus
extern "C" {
@ -680,7 +670,7 @@ qse_httpd_task_t* qse_httpd_entasktext (
qse_htre_t* req
);
qse_httpd_task_t* qse_httpd_entaskerror (
qse_httpd_task_t* qse_httpd_entaskerr (
qse_httpd_t* httpd,
qse_httpd_client_t* client,
qse_httpd_task_t* pred,
@ -818,6 +808,20 @@ qse_httpd_server_t* qse_httpd_attachserverstd (
qse_size_t xtnsize
);
int qse_httpd_getserveroptstd (
qse_httpd_t* httpd,
qse_httpd_server_t* server,
qse_httpd_server_optstd_t id,
void** value
);
int qse_httpd_setserveroptstd (
qse_httpd_t* httpd,
qse_httpd_server_t* server,
qse_httpd_server_optstd_t id,
void* value
);
void* qse_httpd_getserverxtnstd (
qse_httpd_t* httpd,
qse_httpd_server_t* server