cleaned up the code a little
This commit is contained in:
parent
81cf4a462b
commit
524f2e34c9
@ -106,11 +106,6 @@ qse_ssize_t qse_sio_gets (
|
||||
qse_size_t size
|
||||
);
|
||||
|
||||
qse_ssize_t qse_sio_getsx (
|
||||
qse_sio_t* sio,
|
||||
qse_char_t* buf,
|
||||
qse_size_t size
|
||||
);
|
||||
|
||||
qse_ssize_t qse_sio_getstr (
|
||||
qse_sio_t* sio,
|
||||
@ -127,7 +122,13 @@ qse_ssize_t qse_sio_puts (
|
||||
const qse_char_t* str
|
||||
);
|
||||
|
||||
qse_ssize_t qse_sio_putsx (
|
||||
qse_ssize_t qse_sio_read (
|
||||
qse_sio_t* sio,
|
||||
qse_char_t* buf,
|
||||
qse_size_t size
|
||||
);
|
||||
|
||||
qse_ssize_t qse_sio_write (
|
||||
qse_sio_t* sio,
|
||||
const qse_char_t* str,
|
||||
qse_size_t size
|
||||
|
@ -259,14 +259,6 @@ qse_ssize_t qse_tio_getc (qse_tio_t* tio, qse_char_t* c);
|
||||
*/
|
||||
qse_ssize_t qse_tio_gets (qse_tio_t* tio, qse_char_t* buf, qse_size_t size);
|
||||
|
||||
/*
|
||||
* FUNCTION: qse_tio_getsx
|
||||
*
|
||||
* DESCRIPTION:
|
||||
* <qse_tio_getsx> doesn't insert a terminating null character
|
||||
*/
|
||||
qse_ssize_t qse_tio_getsx (qse_tio_t* tio, qse_char_t* buf, qse_size_t size);
|
||||
|
||||
/*
|
||||
* FUNCTION: qse_tio_getstr
|
||||
*/
|
||||
@ -282,10 +274,26 @@ qse_ssize_t qse_tio_putc (qse_tio_t* tio, qse_char_t c);
|
||||
*/
|
||||
qse_ssize_t qse_tio_puts (qse_tio_t* tio, const qse_char_t* str);
|
||||
|
||||
/*
|
||||
* FUNCTION: qse_tio_read
|
||||
*
|
||||
* DESCRIPTION:
|
||||
* <qse_tio_read> doesn't insert a terminating null character
|
||||
*/
|
||||
qse_ssize_t qse_tio_read (
|
||||
qse_tio_t* tio,
|
||||
qse_char_t* buf,
|
||||
qse_size_t size
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: qse_tio_putsx
|
||||
*/
|
||||
qse_ssize_t qse_tio_putsx (qse_tio_t* tio, const qse_char_t* str, qse_size_t size);
|
||||
qse_ssize_t qse_tio_write (
|
||||
qse_tio_t* tio,
|
||||
const qse_char_t* str,
|
||||
qse_size_t size
|
||||
);
|
||||
|
||||
/*
|
||||
* FUNCTION: qse_tio_putsn
|
||||
|
@ -158,12 +158,12 @@
|
||||
qse_mmgr_t* mmgr;
|
||||
|
||||
#define QSE_DEFINE_STD_FUNCTIONS(name) \
|
||||
qse_##name##_t qse_##name##_setmmgr (qse_##name##_t* name, qse_mmgr_t* mmgr); \
|
||||
void qse_##name##_setmmgr (qse_##name##_t* name, qse_mmgr_t* mmgr); \
|
||||
qse_mmgr_t* qse_##name##_getmmgr (qse_##name##_t* name); \
|
||||
void* qse_##name##_getxtn (qse_##name##_t* name);
|
||||
|
||||
#define QSE_IMPLEMENT_STD_FUNCTIONS(name) \
|
||||
qse_##name##_t qse_##name##_setmmgr (qse_##name##_t* name, qse_mmgr_t* mmgr) \
|
||||
void qse_##name##_setmmgr (qse_##name##_t* name, qse_mmgr_t* mmgr) \
|
||||
{ \
|
||||
name->mmgr = mmgr; \
|
||||
} \
|
||||
|
@ -379,12 +379,12 @@ int StdAwk::closeFile (File& io)
|
||||
|
||||
StdAwk::ssize_t StdAwk::readFile (File& io, char_t* buf, size_t len)
|
||||
{
|
||||
return qse_sio_getsx ((qse_sio_t*)io.getHandle(), buf, len);
|
||||
return qse_sio_read ((qse_sio_t*)io.getHandle(), buf, len);
|
||||
}
|
||||
|
||||
StdAwk::ssize_t StdAwk::writeFile (File& io, const char_t* buf, size_t len)
|
||||
{
|
||||
return qse_sio_putsx ((qse_sio_t*)io.getHandle(), buf, len);
|
||||
return qse_sio_write ((qse_sio_t*)io.getHandle(), buf, len);
|
||||
}
|
||||
|
||||
int StdAwk::flushFile (File& io)
|
||||
|
@ -283,7 +283,6 @@ int qse_awk_clear (qse_awk_t* awk)
|
||||
|
||||
if (awk->tree.begin != QSE_NULL)
|
||||
{
|
||||
qse_awk_nde_t* next = awk->tree.begin->next;
|
||||
/*QSE_ASSERT (awk->tree.begin->next == QSE_NULL);*/
|
||||
qse_awk_clrpt (awk, awk->tree.begin);
|
||||
awk->tree.begin = QSE_NULL;
|
||||
@ -426,12 +425,8 @@ int qse_awk_setword (qse_awk_t* awk,
|
||||
const qse_char_t* okw, qse_size_t olen,
|
||||
const qse_char_t* nkw, qse_size_t nlen)
|
||||
{
|
||||
qse_cstr_t* vn, * vo;
|
||||
|
||||
if (nkw == QSE_NULL || nlen == 0)
|
||||
{
|
||||
qse_map_pair_t* p;
|
||||
|
||||
if (okw == QSE_NULL || olen == 0)
|
||||
{
|
||||
/* clear the entire table */
|
||||
|
@ -124,7 +124,6 @@ struct sf_t
|
||||
static qse_ssize_t sf_in (int cmd, void* arg, qse_char_t* data, qse_size_t size)
|
||||
{
|
||||
sf_t* sf = (sf_t*)arg;
|
||||
qse_cint_t c;
|
||||
|
||||
if (cmd == QSE_AWK_IO_OPEN)
|
||||
{
|
||||
@ -177,7 +176,7 @@ static qse_ssize_t sf_in (int cmd, void* arg, qse_char_t* data, qse_size_t size)
|
||||
retry:
|
||||
sio = sf->in.handle;
|
||||
|
||||
n = qse_sio_getsx (sio, data, size);
|
||||
n = qse_sio_read (sio, data, size);
|
||||
if (n == 0 && sf->in.p.files[++sf->in.index] != QSE_NULL)
|
||||
{
|
||||
if (sio != qse_sio_in) qse_sio_close (sio);
|
||||
@ -279,7 +278,7 @@ static qse_ssize_t sf_out (int cmd, void* arg, qse_char_t* data, qse_size_t size
|
||||
}
|
||||
*/
|
||||
|
||||
return qse_sio_putsx (sf->out.handle, data, size);
|
||||
return qse_sio_write (sf->out.handle, data, size);
|
||||
}
|
||||
|
||||
return -1;
|
||||
@ -485,7 +484,7 @@ static qse_ssize_t awk_extio_file (
|
||||
|
||||
case QSE_AWK_IO_READ:
|
||||
{
|
||||
return qse_sio_getsx (
|
||||
return qse_sio_read (
|
||||
(qse_sio_t*)epa->handle,
|
||||
data,
|
||||
size
|
||||
@ -494,7 +493,7 @@ static qse_ssize_t awk_extio_file (
|
||||
|
||||
case QSE_AWK_IO_WRITE:
|
||||
{
|
||||
return qse_sio_putsx (
|
||||
return qse_sio_write (
|
||||
(qse_sio_t*)epa->handle,
|
||||
data,
|
||||
size
|
||||
@ -618,7 +617,7 @@ static qse_ssize_t awk_extio_console (
|
||||
{
|
||||
qse_ssize_t n;
|
||||
|
||||
while ((n = qse_sio_getsx((qse_sio_t*)epa->handle,data,size)) == 0)
|
||||
while ((n = qse_sio_read((qse_sio_t*)epa->handle,data,size)) == 0)
|
||||
{
|
||||
/* it has reached the end of the current file.
|
||||
* open the next file if available */
|
||||
@ -697,7 +696,7 @@ static qse_ssize_t awk_extio_console (
|
||||
}
|
||||
else if (cmd == QSE_AWK_IO_WRITE)
|
||||
{
|
||||
return qse_sio_putsx (
|
||||
return qse_sio_write (
|
||||
(qse_sio_t*)epa->handle,
|
||||
data,
|
||||
size
|
||||
|
@ -128,7 +128,7 @@ qse_awk_val_t* qse_awk_makeintval (qse_awk_run_t* run, qse_long_t v)
|
||||
if (run->vmgr.ifree == QSE_NULL)
|
||||
{
|
||||
qse_awk_val_ichunk_t* c;
|
||||
qse_awk_val_int_t* x;
|
||||
/*qse_awk_val_int_t* x;*/
|
||||
qse_size_t i;
|
||||
|
||||
/* use qse_awk_val_ichunk structure to avoid
|
||||
@ -203,7 +203,7 @@ qse_awk_val_t* qse_awk_makerealval (qse_awk_run_t* run, qse_real_t v)
|
||||
if (run->vmgr.rfree == QSE_NULL)
|
||||
{
|
||||
qse_awk_val_rchunk_t* c;
|
||||
qse_awk_val_real_t* x;
|
||||
/*qse_awk_val_real_t* x;*/
|
||||
qse_size_t i;
|
||||
|
||||
/* c = QSE_AWK_ALLOC (run->awk,
|
||||
@ -289,8 +289,9 @@ qse_awk_val_t* qse_awk_makestrval (
|
||||
qse_awk_setrunerrnum (run, QSE_AWK_ENOMEM);
|
||||
return QSE_NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
init:
|
||||
*/
|
||||
val->type = QSE_AWK_VAL_STR;
|
||||
val->ref = 0;
|
||||
val->len = len;
|
||||
@ -361,7 +362,9 @@ qse_awk_val_t* qse_awk_makestrval2 (
|
||||
return QSE_NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
init:
|
||||
*/
|
||||
val->type = QSE_AWK_VAL_STR;
|
||||
val->ref = 0;
|
||||
val->len = len1 + len2;
|
||||
|
@ -17,6 +17,7 @@
|
||||
*/
|
||||
|
||||
#include <qse/cmn/fio.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include "mem.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
|
@ -441,7 +441,7 @@ qse_ssize_t qse_pcp_read (
|
||||
if (pcp->pip[hid].tio == QSE_NULL)
|
||||
return pcp_read (pcp, buf, size, pcp->pip[hid].handle);
|
||||
else
|
||||
return qse_tio_getsx (pcp->pip[hid].tio, buf, size);
|
||||
return qse_tio_read (pcp->pip[hid].tio, buf, size);
|
||||
}
|
||||
|
||||
qse_ssize_t qse_pcp_write (
|
||||
@ -450,7 +450,7 @@ qse_ssize_t qse_pcp_write (
|
||||
if (pcp->pip[hid].tio == QSE_NULL)
|
||||
return pcp_write (pcp, data, size, pcp->pip[hid].handle);
|
||||
else
|
||||
return qse_tio_putsx (pcp->pip[hid].tio, data, size);
|
||||
return qse_tio_write (pcp->pip[hid].tio, data, size);
|
||||
}
|
||||
|
||||
qse_ssize_t qse_pcp_flush (qse_pcp_t* pcp, qse_pcp_hid_t hid)
|
||||
|
@ -236,10 +236,6 @@ qse_ssize_t qse_sio_gets (qse_sio_t* sio, qse_char_t* buf, qse_size_t size)
|
||||
return qse_tio_gets (&sio->tio, buf, size);
|
||||
}
|
||||
|
||||
qse_ssize_t qse_sio_getsx (qse_sio_t* sio, qse_char_t* buf, qse_size_t size)
|
||||
{
|
||||
return qse_tio_getsx (&sio->tio, buf, size);
|
||||
}
|
||||
|
||||
qse_ssize_t qse_sio_getstr (qse_sio_t* sio, qse_str_t* buf)
|
||||
{
|
||||
@ -256,9 +252,14 @@ qse_ssize_t qse_sio_puts (qse_sio_t* sio, const qse_char_t* str)
|
||||
return qse_tio_puts (&sio->tio, str);
|
||||
}
|
||||
|
||||
qse_ssize_t qse_sio_putsx (qse_sio_t* sio, const qse_char_t* str, qse_size_t size)
|
||||
qse_ssize_t qse_sio_read (qse_sio_t* sio, qse_char_t* buf, qse_size_t size)
|
||||
{
|
||||
return qse_tio_putsx (&sio->tio, str, size);
|
||||
return qse_tio_read (&sio->tio, buf, size);
|
||||
}
|
||||
|
||||
qse_ssize_t qse_sio_write (qse_sio_t* sio, const qse_char_t* str, qse_size_t size)
|
||||
{
|
||||
return qse_tio_write (&sio->tio, str, size);
|
||||
}
|
||||
|
||||
#if 0
|
||||
|
@ -217,7 +217,7 @@ node_t* qse_sll_gettail (sll_t* sll)
|
||||
|
||||
node_t* qse_sll_search (sll_t* sll, node_t* pos, const void* dptr, size_t dlen)
|
||||
{
|
||||
pos = (pos == QSE_NULL)? pos = sll->head: NEXT(pos);
|
||||
pos = (pos == QSE_NULL)? sll->head: NEXT(pos);
|
||||
|
||||
while (pos != QSE_NULL)
|
||||
{
|
||||
|
@ -17,6 +17,7 @@
|
||||
*/
|
||||
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/chr.h>
|
||||
|
||||
int qse_strtoi (const qse_char_t* str)
|
||||
{
|
||||
|
@ -22,14 +22,11 @@
|
||||
#ifdef _WIN32
|
||||
# include <windows.h>
|
||||
#else
|
||||
# include "syscall.h"
|
||||
# include <sys/time.h>
|
||||
#endif
|
||||
#include <time.h>
|
||||
|
||||
#if defined(QSE_USE_SYSCALL) && defined(HAVE_SYS_SYSCALL_H)
|
||||
#include <sys/syscall.h>
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#define WIN_EPOCH_YEAR (1601)
|
||||
#define WIN_EPOCH_MON (1)
|
||||
@ -265,6 +262,7 @@ int qse_timegm (const qse_btime_t* bt, qse_ntime_t* nt)
|
||||
|
||||
#ifdef HAVE_TIMEGM
|
||||
*nt = ((qse_ntime_t)timegm(&tm)*QSE_MSECS_PER_SEC) + bt->msec;
|
||||
return 0;
|
||||
#else
|
||||
#warning #### timegm() is not available on this platform ####
|
||||
return -1;
|
||||
@ -290,6 +288,7 @@ int qse_timelocal (const qse_btime_t* bt, qse_ntime_t* nt)
|
||||
|
||||
#ifdef HAVE_TIMELOCAL
|
||||
*nt = ((qse_ntime_t)timelocal(&tm)*QSE_MSECS_PER_SEC) + bt->msec;
|
||||
return 0;
|
||||
#else
|
||||
#warning #### timelocal() is not available on this platform ####
|
||||
return -1;
|
||||
|
@ -17,6 +17,7 @@
|
||||
*/
|
||||
|
||||
#include <qse/cmn/tio.h>
|
||||
#include <qse/cmn/chr.h>
|
||||
#include "mem.h"
|
||||
|
||||
#define STATUS_GETC_EILSEQ (1 << 0)
|
||||
@ -26,9 +27,6 @@ qse_ssize_t qse_tio_getc (qse_tio_t* tio, qse_char_t* c)
|
||||
qse_size_t left = 0;
|
||||
qse_ssize_t n;
|
||||
qse_char_t curc;
|
||||
#ifndef QSE_CHAR_IS_MCHAR
|
||||
qse_size_t seqlen;
|
||||
#endif
|
||||
|
||||
/* TODO: more efficient way to check this?
|
||||
* maybe better to use QSE_ASSERT
|
||||
@ -79,52 +77,6 @@ qse_ssize_t qse_tio_getc (qse_tio_t* tio, qse_char_t* c)
|
||||
#else
|
||||
left = tio->inbuf_len - tio->inbuf_curp;
|
||||
|
||||
#if 0
|
||||
seqlen = qse_mblen (tio->inbuf[tio->inbuf_curp], left);
|
||||
if (seqlen == 0)
|
||||
{
|
||||
/* illegal sequence */
|
||||
tio->inbuf_curp++; /* skip one byte */
|
||||
tio->errnum = QSE_TIO_EILSEQ;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (seqlen > left)
|
||||
{
|
||||
/* incomplete sequence */
|
||||
if (tio->inbuf_curp > 0)
|
||||
{
|
||||
QSE_MEMCPY (tio->inbuf, &tio->inbuf[tio->inbuf_curp], left);
|
||||
tio->inbuf_curp = 0;
|
||||
tio->inbuf_len = left;
|
||||
}
|
||||
goto getc_conv;
|
||||
}
|
||||
|
||||
n = qse_mbtowc (&tio->inbuf[tio->inbuf_curp], seqlen, &curc);
|
||||
if (n == 0)
|
||||
{
|
||||
/* illegal sequence */
|
||||
tio->inbuf_curp++; /* skip one byte */
|
||||
tio->errnum = QSE_TIO_EILSEQ;
|
||||
return -1;
|
||||
}
|
||||
if (n > seqlen)
|
||||
{
|
||||
/* incomplete sequence -
|
||||
* this check might not be needed because qse_mblen has
|
||||
* checked it. would QSE_ASSERT (n <= seqlen) be enough? */
|
||||
|
||||
if (tio->inbuf_curp > 0)
|
||||
{
|
||||
QSE_MEMCPY (tio->inbuf, &tio->inbuf[tio->inbuf_curp], left);
|
||||
tio->inbuf_curp = 0;
|
||||
tio->inbuf_len = left;
|
||||
}
|
||||
goto getc_conv;
|
||||
}
|
||||
#endif
|
||||
|
||||
n = qse_mbtowc (&tio->inbuf[tio->inbuf_curp], left, &curc);
|
||||
if (n == 0)
|
||||
{
|
||||
@ -157,13 +109,13 @@ qse_ssize_t qse_tio_gets (qse_tio_t* tio, qse_char_t* buf, qse_size_t size)
|
||||
qse_ssize_t n;
|
||||
|
||||
if (size <= 0) return 0;
|
||||
n = qse_tio_getsx (tio, buf, size - 1);
|
||||
n = qse_tio_read (tio, buf, size - 1);
|
||||
if (n == -1) return -1;
|
||||
buf[n] = QSE_T('\0');
|
||||
return n;
|
||||
}
|
||||
|
||||
qse_ssize_t qse_tio_getsx (qse_tio_t* tio, qse_char_t* buf, qse_size_t size)
|
||||
qse_ssize_t qse_tio_read (qse_tio_t* tio, qse_char_t* buf, qse_size_t size)
|
||||
{
|
||||
qse_ssize_t n;
|
||||
qse_char_t* p, * end, c;
|
||||
|
@ -17,6 +17,7 @@
|
||||
*/
|
||||
|
||||
#include <qse/cmn/tio.h>
|
||||
#include <qse/cmn/chr.h>
|
||||
|
||||
qse_ssize_t qse_tio_putc (qse_tio_t* tio, qse_char_t c)
|
||||
{
|
||||
@ -85,7 +86,7 @@ qse_ssize_t qse_tio_puts (qse_tio_t* tio, const qse_char_t* str)
|
||||
return p - str;
|
||||
}
|
||||
|
||||
qse_ssize_t qse_tio_putsx (qse_tio_t* tio, const qse_char_t* str, qse_size_t size)
|
||||
qse_ssize_t qse_tio_write (qse_tio_t* tio, const qse_char_t* str, qse_size_t size)
|
||||
{
|
||||
qse_ssize_t n;
|
||||
const qse_char_t* p, * end;
|
||||
|
Loading…
x
Reference in New Issue
Block a user