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 defined(MIO_OOCH_IS_UCH)
|
||||||
if (max <= 0) return 1;
|
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;
|
mio->errmsg.len += max;
|
||||||
#else
|
#else
|
||||||
if (len > max) len = max;
|
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;
|
mio->errmsg.len += len;
|
||||||
#else
|
#else
|
||||||
if (max <= 0) return 1;
|
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;
|
mio->errmsg.len += max;
|
||||||
#endif
|
#endif
|
||||||
mio->errmsg.buf[mio->errmsg.len] = '\0';
|
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;
|
len = rem;
|
||||||
bcslen = MIO_COUNTOF(bcs);
|
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);
|
log_bcs(fmtout, bcs, bcslen);
|
||||||
rem -= len;
|
rem -= len;
|
||||||
ptr += 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;
|
len = rem;
|
||||||
ucslen = MIO_COUNTOF(ucs);
|
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);
|
log_ucs(fmtout, ucs, ucslen);
|
||||||
rem -= len;
|
rem -= len;
|
||||||
ptr += 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)
|
void mio_close (mio_t* mio)
|
||||||
{
|
{
|
||||||
mio_fini (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)
|
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;
|
int sys_inited = 0;
|
||||||
|
|
||||||
MIO_MEMSET (mio, 0, MIO_SIZEOF(*mio));
|
MIO_MEMSET (mio, 0, MIO_SIZEOF(*mio));
|
||||||
mio->mmgr = mmgr;
|
mio->_instsize = MIO_SIZEOF(*mio);
|
||||||
mio->cmgr = cmgr;
|
mio->_mmgr = mmgr;
|
||||||
|
mio->_cmgr = cmgr;
|
||||||
|
|
||||||
/* initialize data for logging support */
|
/* initialize data for logging support */
|
||||||
mio->option.log_mask = MIO_LOG_ALL_LEVELS | MIO_LOG_ALL_TYPES;
|
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* mio_allocmem (mio_t* mio, mio_oow_t size)
|
||||||
{
|
{
|
||||||
void* ptr;
|
void* ptr;
|
||||||
ptr = MIO_MMGR_ALLOC (mio->mmgr, size);
|
ptr = MIO_MMGR_ALLOC (mio->_mmgr, size);
|
||||||
if (!ptr) mio_seterrnum (mio, MIO_ESYSMEM);
|
if (!ptr) mio_seterrnum (mio, MIO_ESYSMEM);
|
||||||
return ptr;
|
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* mio_callocmem (mio_t* mio, mio_oow_t size)
|
||||||
{
|
{
|
||||||
void* ptr;
|
void* ptr;
|
||||||
ptr = MIO_MMGR_ALLOC (mio->mmgr, size);
|
ptr = MIO_MMGR_ALLOC (mio->_mmgr, size);
|
||||||
if (!ptr) mio_seterrnum (mio, MIO_ESYSMEM);
|
if (!ptr) mio_seterrnum (mio, MIO_ESYSMEM);
|
||||||
else MIO_MEMSET (ptr, 0, size);
|
else MIO_MEMSET (ptr, 0, size);
|
||||||
return ptr;
|
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)
|
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);
|
if (!ptr) mio_seterrnum (mio, MIO_ESYSMEM);
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void mio_freemem (mio_t* mio, void* 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
|
struct mio_t
|
||||||
{
|
{
|
||||||
mio_mmgr_t* mmgr;
|
mio_oow_t _instsize;
|
||||||
mio_cmgr_t* cmgr;
|
mio_mmgr_t* _mmgr;
|
||||||
|
mio_cmgr_t* _cmgr;
|
||||||
mio_errnum_t errnum;
|
mio_errnum_t errnum;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
@ -638,19 +639,19 @@ MIO_EXPORT int mio_setoption (
|
|||||||
);
|
);
|
||||||
|
|
||||||
#if defined(MIO_HAVE_INLINE)
|
#if defined(MIO_HAVE_INLINE)
|
||||||
static MIO_INLINE mio_mmgr_t* mio_getmmgr (mio_t* mio) { return mio->mmgr; }
|
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 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 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 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; }
|
static MIO_INLINE mio_errnum_t mio_geterrnum (mio_t* mio) { return mio->errnum; }
|
||||||
#else
|
#else
|
||||||
# define mio_getmmgr(mio) (((mio_t*)(mio))->mmgr)
|
# define mio_getmmgr(mio) (((mio_t*)(mio))->_mmgr)
|
||||||
# define mio_getxtn(mio) ((void*)((mio_t*)(mio) + 1))
|
# define mio_getxtn(mio) ((void*)((mio_uint8_t*)mio + ((mio_t*)mio)->_instsize))
|
||||||
|
|
||||||
# define mio_getcmgr(mio) (((mio_t*)(mio))->cmgr)
|
# define mio_getcmgr(mio) (((mio_t*)(mio))->_cmgr)
|
||||||
# define mio_setcmgr(mio,mgr) (((mio_t*)(mio))->cmgr = (mgr))
|
# define mio_setcmgr(mio,cmgr) (((mio_t*)(mio))->_cmgr = (cmgr))
|
||||||
|
|
||||||
# define mio_geterrnum(mio) (((mio_t*)(mio))->errnum)
|
# define mio_geterrnum(mio) (((mio_t*)(mio))->errnum)
|
||||||
#endif
|
#endif
|
||||||
|
@ -1030,7 +1030,7 @@ int mio_convbtouchars (mio_t* mio, const mio_bch_t* bcs, mio_oow_t* bcslen, mio_
|
|||||||
/* length bound */
|
/* length bound */
|
||||||
int n;
|
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)
|
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 */
|
/* length bound */
|
||||||
int n;
|
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)
|
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. */
|
/* null-terminated. */
|
||||||
int n;
|
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)
|
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 */
|
/* null-terminated */
|
||||||
int n;
|
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)
|
if (n <= -1)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user