added the _instsize field to mio_t and revised mio_getxtn() using the new field
This commit is contained in:
parent
86c1d9ebe6
commit
6d357fe1fe
@ -117,7 +117,7 @@ static int err_bcs (mio_fmtout_t* fmtout, const mio_bch_t* ptr, mio_oow_t len)
|
||||
|
||||
#if defined(MIO_OOCH_IS_UCH)
|
||||
if (max <= 0) return 1;
|
||||
mio_conv_bchars_to_uchars_with_cmgr (ptr, &len, &mio->errmsg.buf[mio->errmsg.len], &max, mio->cmgr, 1);
|
||||
mio_conv_bchars_to_uchars_with_cmgr (ptr, &len, &mio->errmsg.buf[mio->errmsg.len], &max, mio_getcmgr(mio), 1);
|
||||
mio->errmsg.len += max;
|
||||
#else
|
||||
if (len > max) len = max;
|
||||
@ -145,7 +145,7 @@ static int err_ucs (mio_fmtout_t* fmtout, const mio_uch_t* ptr, mio_oow_t len)
|
||||
mio->errmsg.len += len;
|
||||
#else
|
||||
if (max <= 0) return 1;
|
||||
mio_conv_uchars_to_bchars_with_cmgr (ptr, &len, &mio->errmsg.buf[mio->errmsg.len], &max, mio->cmgr);
|
||||
mio_conv_uchars_to_bchars_with_cmgr (ptr, &len, &mio->errmsg.buf[mio->errmsg.len], &max, mio_getcmgr(mio));
|
||||
mio->errmsg.len += max;
|
||||
#endif
|
||||
mio->errmsg.buf[mio->errmsg.len] = '\0';
|
||||
|
@ -1478,7 +1478,7 @@ static int log_ucs (mio_fmtout_t* fmtout, const mio_uch_t* ptr, mio_oow_t len)
|
||||
{
|
||||
len = rem;
|
||||
bcslen = MIO_COUNTOF(bcs);
|
||||
mio_conv_uchars_to_bchars_with_cmgr(ptr, &len, bcs, &bcslen, mio->cmgr);
|
||||
mio_conv_uchars_to_bchars_with_cmgr(ptr, &len, bcs, &bcslen, mio_getcmgr(mio));
|
||||
log_bcs(fmtout, bcs, bcslen);
|
||||
rem -= len;
|
||||
ptr += len;
|
||||
@ -1502,7 +1502,7 @@ static int log_bcs (mio_fmtout_t* fmtout, const mio_bch_t* ptr, mio_oow_t len)
|
||||
{
|
||||
len = rem;
|
||||
ucslen = MIO_COUNTOF(ucs);
|
||||
mio_conv_bchars_to_uchars_with_cmgr(ptr, &len, ucs, &ucslen, mio->cmgr, 1);
|
||||
mio_conv_bchars_to_uchars_with_cmgr(ptr, &len, ucs, &ucslen, mio_getcmgr(mio), 1);
|
||||
log_ucs(fmtout, ucs, ucslen);
|
||||
rem -= len;
|
||||
ptr += len;
|
||||
|
@ -84,7 +84,7 @@ mio_t* mio_open (mio_mmgr_t* mmgr, mio_oow_t xtnsize, mio_cmgr_t* cmgr, mio_oow_
|
||||
void mio_close (mio_t* mio)
|
||||
{
|
||||
mio_fini (mio);
|
||||
MIO_MMGR_FREE (mio->mmgr, mio);
|
||||
MIO_MMGR_FREE (mio->_mmgr, mio);
|
||||
}
|
||||
|
||||
int mio_init (mio_t* mio, mio_mmgr_t* mmgr, mio_cmgr_t* cmgr, mio_oow_t tmrcapa)
|
||||
@ -92,8 +92,9 @@ int mio_init (mio_t* mio, mio_mmgr_t* mmgr, mio_cmgr_t* cmgr, mio_oow_t tmrcapa)
|
||||
int sys_inited = 0;
|
||||
|
||||
MIO_MEMSET (mio, 0, MIO_SIZEOF(*mio));
|
||||
mio->mmgr = mmgr;
|
||||
mio->cmgr = cmgr;
|
||||
mio->_instsize = MIO_SIZEOF(*mio);
|
||||
mio->_mmgr = mmgr;
|
||||
mio->_cmgr = cmgr;
|
||||
|
||||
/* initialize data for logging support */
|
||||
mio->option.log_mask = MIO_LOG_ALL_LEVELS | MIO_LOG_ALL_TYPES;
|
||||
@ -1299,7 +1300,7 @@ void mio_gettime (mio_t* mio, mio_ntime_t* now)
|
||||
void* mio_allocmem (mio_t* mio, mio_oow_t size)
|
||||
{
|
||||
void* ptr;
|
||||
ptr = MIO_MMGR_ALLOC (mio->mmgr, size);
|
||||
ptr = MIO_MMGR_ALLOC (mio->_mmgr, size);
|
||||
if (!ptr) mio_seterrnum (mio, MIO_ESYSMEM);
|
||||
return ptr;
|
||||
}
|
||||
@ -1307,7 +1308,7 @@ void* mio_allocmem (mio_t* mio, mio_oow_t size)
|
||||
void* mio_callocmem (mio_t* mio, mio_oow_t size)
|
||||
{
|
||||
void* ptr;
|
||||
ptr = MIO_MMGR_ALLOC (mio->mmgr, size);
|
||||
ptr = MIO_MMGR_ALLOC (mio->_mmgr, size);
|
||||
if (!ptr) mio_seterrnum (mio, MIO_ESYSMEM);
|
||||
else MIO_MEMSET (ptr, 0, size);
|
||||
return ptr;
|
||||
@ -1315,12 +1316,12 @@ void* mio_callocmem (mio_t* mio, mio_oow_t size)
|
||||
|
||||
void* mio_reallocmem (mio_t* mio, void* ptr, mio_oow_t size)
|
||||
{
|
||||
ptr = MIO_MMGR_REALLOC (mio->mmgr, ptr, size);
|
||||
ptr = MIO_MMGR_REALLOC (mio->_mmgr, ptr, size);
|
||||
if (!ptr) mio_seterrnum (mio, MIO_ESYSMEM);
|
||||
return ptr;
|
||||
}
|
||||
|
||||
void mio_freemem (mio_t* mio, void* ptr)
|
||||
{
|
||||
MIO_MMGR_FREE (mio->mmgr, ptr);
|
||||
MIO_MMGR_FREE (mio->_mmgr, ptr);
|
||||
}
|
||||
|
@ -510,8 +510,9 @@ typedef struct mio_sys_t mio_sys_t;
|
||||
|
||||
struct mio_t
|
||||
{
|
||||
mio_mmgr_t* mmgr;
|
||||
mio_cmgr_t* cmgr;
|
||||
mio_oow_t _instsize;
|
||||
mio_mmgr_t* _mmgr;
|
||||
mio_cmgr_t* _cmgr;
|
||||
mio_errnum_t errnum;
|
||||
struct
|
||||
{
|
||||
@ -638,19 +639,19 @@ MIO_EXPORT int mio_setoption (
|
||||
);
|
||||
|
||||
#if defined(MIO_HAVE_INLINE)
|
||||
static MIO_INLINE mio_mmgr_t* mio_getmmgr (mio_t* mio) { return mio->mmgr; }
|
||||
static MIO_INLINE void* mio_getxtn (mio_t* mio) { return (void*)(mio + 1); }
|
||||
static MIO_INLINE mio_mmgr_t* mio_getmmgr (mio_t* mio) { return mio->_mmgr; }
|
||||
static MIO_INLINE void* mio_getxtn (mio_t* mio) { return (void*)((mio_uint8_t*)mio + mio->_instsize); }
|
||||
|
||||
static MIO_INLINE mio_cmgr_t* mio_getcmgr (mio_t* mio) { return mio->cmgr; }
|
||||
static MIO_INLINE void mio_setcmgr (mio_t* mio, mio_cmgr_t* cmgr) { mio->cmgr = cmgr; }
|
||||
static MIO_INLINE mio_cmgr_t* mio_getcmgr (mio_t* mio) { return mio->_cmgr; }
|
||||
static MIO_INLINE void mio_setcmgr (mio_t* mio, mio_cmgr_t* cmgr) { mio->_cmgr = cmgr; }
|
||||
|
||||
static MIO_INLINE mio_errnum_t mio_geterrnum (mio_t* mio) { return mio->errnum; }
|
||||
#else
|
||||
# define mio_getmmgr(mio) (((mio_t*)(mio))->mmgr)
|
||||
# define mio_getxtn(mio) ((void*)((mio_t*)(mio) + 1))
|
||||
# define mio_getmmgr(mio) (((mio_t*)(mio))->_mmgr)
|
||||
# define mio_getxtn(mio) ((void*)((mio_uint8_t*)mio + ((mio_t*)mio)->_instsize))
|
||||
|
||||
# define mio_getcmgr(mio) (((mio_t*)(mio))->cmgr)
|
||||
# define mio_setcmgr(mio,mgr) (((mio_t*)(mio))->cmgr = (mgr))
|
||||
# define mio_getcmgr(mio) (((mio_t*)(mio))->_cmgr)
|
||||
# define mio_setcmgr(mio,cmgr) (((mio_t*)(mio))->_cmgr = (cmgr))
|
||||
|
||||
# define mio_geterrnum(mio) (((mio_t*)(mio))->errnum)
|
||||
#endif
|
||||
|
@ -1030,7 +1030,7 @@ int mio_convbtouchars (mio_t* mio, const mio_bch_t* bcs, mio_oow_t* bcslen, mio_
|
||||
/* length bound */
|
||||
int n;
|
||||
|
||||
n = mio_conv_bchars_to_uchars_with_cmgr(bcs, bcslen, ucs, ucslen, mio->cmgr, 0);
|
||||
n = mio_conv_bchars_to_uchars_with_cmgr(bcs, bcslen, ucs, ucslen, mio_getcmgr(mio), 0);
|
||||
|
||||
if (n <= -1)
|
||||
{
|
||||
@ -1046,7 +1046,7 @@ int mio_convutobchars (mio_t* mio, const mio_uch_t* ucs, mio_oow_t* ucslen, mio_
|
||||
/* length bound */
|
||||
int n;
|
||||
|
||||
n = mio_conv_uchars_to_bchars_with_cmgr(ucs, ucslen, bcs, bcslen, mio->cmgr);
|
||||
n = mio_conv_uchars_to_bchars_with_cmgr(ucs, ucslen, bcs, bcslen, mio_getcmgr(mio));
|
||||
|
||||
if (n <= -1)
|
||||
{
|
||||
@ -1061,7 +1061,7 @@ int mio_convbtoucstr (mio_t* mio, const mio_bch_t* bcs, mio_oow_t* bcslen, mio_u
|
||||
/* null-terminated. */
|
||||
int n;
|
||||
|
||||
n = mio_conv_bcstr_to_ucstr_with_cmgr(bcs, bcslen, ucs, ucslen, mio->cmgr, 0);
|
||||
n = mio_conv_bcstr_to_ucstr_with_cmgr(bcs, bcslen, ucs, ucslen, mio_getcmgr(mio), 0);
|
||||
|
||||
if (n <= -1)
|
||||
{
|
||||
@ -1076,7 +1076,7 @@ int mio_convutobcstr (mio_t* mio, const mio_uch_t* ucs, mio_oow_t* ucslen, mio_b
|
||||
/* null-terminated */
|
||||
int n;
|
||||
|
||||
n = mio_conv_ucstr_to_bcstr_with_cmgr(ucs, ucslen, bcs, bcslen, mio->cmgr);
|
||||
n = mio_conv_ucstr_to_bcstr_with_cmgr(ucs, ucslen, bcs, bcslen, mio_getcmgr(mio));
|
||||
|
||||
if (n <= -1)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user