_instsize into qse_xli_t and qse_json_t
This commit is contained in:
@ -160,15 +160,6 @@ QSE_EXPORT qse_awk_rtx_t* qse_awk_rtx_openstd (
|
||||
qse_cmgr_t* cmgr
|
||||
);
|
||||
|
||||
/**
|
||||
* The qse_awk_rtx_getxtnstd() function gets the pointer to extension area
|
||||
* created with qse_awk_rtx_openstd().
|
||||
*/
|
||||
QSE_EXPORT void* qse_awk_rtx_getxtnstd (
|
||||
qse_awk_rtx_t* rtx
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
* The qse_awk_rtx_getiocmgrstd() function gets the current character
|
||||
* manager associated with a particular I/O target indicated by the name
|
||||
|
@ -35,6 +35,18 @@
|
||||
*/
|
||||
typedef struct qse_json_t qse_json_t;
|
||||
|
||||
#define QSE_JSON_HDR \
|
||||
qse_size_t _instsize; \
|
||||
qse_mmgr_t* _mmgr; \
|
||||
qse_cmgr_t* _cmgr
|
||||
|
||||
typedef struct qse_json_alt_t qse_json_alt_t;
|
||||
struct qse_json_alt_t
|
||||
{
|
||||
/* ensure that qse_json_t matches the beginning part of qse_json_t */
|
||||
QSE_JSON_HDR;
|
||||
};
|
||||
|
||||
enum qse_json_errnum_t
|
||||
{
|
||||
QSE_JSON_ENOERR = 0,
|
||||
@ -155,22 +167,17 @@ QSE_EXPORT int qse_json_getoption (
|
||||
);
|
||||
|
||||
|
||||
QSE_EXPORT void* qse_json_getxtn (
|
||||
qse_json_t* json
|
||||
);
|
||||
|
||||
QSE_EXPORT qse_mmgr_t* qse_json_getmmgr (
|
||||
qse_json_t* json
|
||||
);
|
||||
|
||||
QSE_EXPORT qse_cmgr_t* qse_json_getcmgr (
|
||||
qse_json_t* json
|
||||
);
|
||||
|
||||
QSE_EXPORT void qse_json_setcmgr (
|
||||
qse_json_t* json,
|
||||
qse_cmgr_t* cmgr
|
||||
);
|
||||
#if defined(QSE_HAVE_INLINE)
|
||||
static QSE_INLINE void* qse_json_getxtn (qse_json_t* json) { return (void*)((qse_uint8_t*)json + ((qse_json_alt_t*)json)->_instsize); }
|
||||
static QSE_INLINE qse_mmgr_t* qse_json_getmmgr (qse_json_t* json) { return ((qse_json_alt_t*)json)->_mmgr; }
|
||||
static QSE_INLINE qse_cmgr_t* qse_json_getcmgr (qse_json_t* json) { return ((qse_json_alt_t*)json)->_cmgr; }
|
||||
static QSE_INLINE void qse_json_setcmgr (qse_json_t* json, qse_cmgr_t* cmgr) { ((qse_json_alt_t*)json)->_cmgr = cmgr; }
|
||||
#else
|
||||
# define qse_json_getxtn(json) ((void*)((qse_uint8_t*)json + ((qse_json_alt_t*)json)->_instsize))
|
||||
# define qse_json_getmmgr(json) (((qse_json_alt_t*)(json))->_mmgr)
|
||||
# define qse_json_getcmgr(json) (((qse_json_alt_t*)(json))->_cmgr)
|
||||
# define qse_json_setcmgr(json,_cmgr) (((qse_json_alt_t*)(json))->_cmgr = (_cmgr))
|
||||
#endif /* QSE_HAVE_INLINE */
|
||||
|
||||
|
||||
QSE_EXPORT qse_json_errnum_t qse_json_geterrnum (
|
||||
|
@ -115,15 +115,6 @@ QSE_EXPORT qse_xli_t* qse_xli_openstdwithmmgr (
|
||||
qse_xli_errnum_t* errnum
|
||||
);
|
||||
|
||||
/**
|
||||
* The qse_xli_getxtnstd() gets the pointer to extension area created with
|
||||
* qse_xli_openstd() or qse_xli_openstdwithmmgr(). You must not call
|
||||
* qse_xli_getxtn() for sunch an object.
|
||||
*/
|
||||
QSE_EXPORT void* qse_xli_getxtnstd (
|
||||
qse_xli_t* xli
|
||||
);
|
||||
|
||||
QSE_EXPORT int qse_xli_readstd (
|
||||
qse_xli_t* xli,
|
||||
qse_xli_iostd_t* in
|
||||
|
@ -50,6 +50,17 @@
|
||||
|
||||
typedef struct qse_xli_t qse_xli_t;
|
||||
|
||||
#define QSE_XLI_HDR \
|
||||
qse_size_t _instsize; \
|
||||
qse_mmgr_t* _mmgr
|
||||
|
||||
typedef struct qse_xli_alt_t qse_xli_alt_t;
|
||||
struct qse_xli_alt_t
|
||||
{
|
||||
/* ensure that qse_xli_t matches the beginning part of qse_xli_t */
|
||||
QSE_XLI_HDR;
|
||||
};
|
||||
|
||||
enum qse_xli_errnum_t
|
||||
{
|
||||
QSE_XLI_ENOERR, /**< no error */
|
||||
@ -482,13 +493,13 @@ QSE_EXPORT void qse_xli_close (
|
||||
qse_xli_t* xli
|
||||
);
|
||||
|
||||
QSE_EXPORT qse_mmgr_t* qse_xli_getmmgr (
|
||||
qse_xli_t* xli
|
||||
);
|
||||
|
||||
QSE_EXPORT void* qse_xli_getxtn (
|
||||
qse_xli_t* xli
|
||||
);
|
||||
#if defined(QSE_HAVE_INLINE)
|
||||
static QSE_INLINE void* qse_xli_getxtn (qse_xli_t* xli) { return (void*)((qse_uint8_t*)xli + ((qse_xli_alt_t*)xli)->_instsize); }
|
||||
static QSE_INLINE qse_mmgr_t* qse_xli_getmmgr (qse_xli_t* xli) { return ((qse_xli_alt_t*)xli)->_mmgr; }
|
||||
#else
|
||||
# define qse_xli_getxtn(xli) ((void*)((qse_uint8_t*)xli + ((qse_xli_alt_t*)xli)->_instsize))
|
||||
# define qse_xli_getmmgr(xli) (((qse_xli_alt_t*)(xli))->_mmgr)
|
||||
#endif /* QSE_HAVE_INLINE */
|
||||
|
||||
QSE_EXPORT void qse_xli_pushecb (
|
||||
qse_xli_t* xli,
|
||||
|
Reference in New Issue
Block a user