added sys::dirname() and sys::basename()
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
AUTOMAKE_OPTION = foreign
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
EXTRA_DIST =
|
||||
EXTRA_DIST = go.mod
|
||||
|
||||
SUBDIRS =
|
||||
|
||||
SUBDIRS += tools lib mod bin samples t
|
||||
|
||||
@@ -374,7 +374,7 @@ top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
AUTOMAKE_OPTION = foreign
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
EXTRA_DIST =
|
||||
EXTRA_DIST = go.mod
|
||||
SUBDIRS = tools lib mod bin samples t
|
||||
#if ENABLE_STATIC_MODULE
|
||||
#SUBDIRS += tools mod lib bin samples t
|
||||
|
||||
@@ -251,7 +251,7 @@ HawkStd::Run* HawkStd::parse (Source& in, Source& out)
|
||||
|
||||
int HawkStd::build_argcv (Run* run)
|
||||
{
|
||||
Value argv (run);
|
||||
Value argv(run);
|
||||
|
||||
for (hawk_oow_t i = 0; i < this->runarg.len; i++)
|
||||
{
|
||||
|
||||
106
lib/gem-glob.c
106
lib/gem-glob.c
@@ -67,7 +67,7 @@ static hawk_bch_t* wcs_to_mbuf (hawk_gem_t* g, const hawk_uch_t* wcs, hawk_becs_
|
||||
if (hawk_gem_convutobcstr(g, wcs, &wl, HAWK_NULL, &ml) <= -1 ||
|
||||
hawk_becs_setlen(mbuf, ml) == (hawk_oow_t)-1) return HAWK_NULL;
|
||||
|
||||
hawk_gem_convutobcstr (g, wcs, &wl, HAWK_BECS_PTR(mbuf), &ml);
|
||||
hawk_gem_convutobcstr(g, wcs, &wl, HAWK_BECS_PTR(mbuf), &ml);
|
||||
return HAWK_BECS_PTR(mbuf);
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ static int upath_exists (hawk_gem_t* g, const hawk_uch_t* name, hawk_becs_t* mbu
|
||||
mptr = wcs_to_mbuf(g, name, mbuf);
|
||||
if (HAWK_UNLIKELY(!mptr)) return -1;
|
||||
|
||||
x = _dos_getfileattr (mptr, &attr);
|
||||
x = _dos_getfileattr(mptr, &attr);
|
||||
return (x == 0)? 1: ((errno == ENOENT)? 0: -1);
|
||||
|
||||
#elif defined(macintosh)
|
||||
@@ -108,10 +108,10 @@ static int upath_exists (hawk_gem_t* g, const hawk_uch_t* name, hawk_becs_t* mbu
|
||||
mptr = wcs_to_mbuf(g, name, mbuf);
|
||||
if (HAWK_UNLIKELY(!mptr)) return -1;
|
||||
|
||||
HAWK_MEMSET (&fpb, 0, HAWK_SIZEOF(fpb));
|
||||
HAWK_MEMSET(&fpb, 0, HAWK_SIZEOF(fpb));
|
||||
fpb.ioNamePtr = (unsigned char*)mptr;
|
||||
|
||||
return (PBGetCatInfoSync ((CInfoPBRec*)&fpb) == noErr)? 1: 0;
|
||||
return (PBGetCatInfoSync((CInfoPBRec*)&fpb) == noErr)? 1: 0;
|
||||
#else
|
||||
struct stat st;
|
||||
const hawk_bch_t* mptr;
|
||||
@@ -147,7 +147,7 @@ static int bpath_exists (hawk_gem_t* g, const hawk_bch_t* name, hawk_becs_t* mbu
|
||||
|
||||
#elif defined(macintosh)
|
||||
HFileInfo fpb;
|
||||
HAWK_MEMSET (&fpb, 0, HAWK_SIZEOF(fpb));
|
||||
HAWK_MEMSET(&fpb, 0, HAWK_SIZEOF(fpb));
|
||||
fpb.ioNamePtr = (unsigned char*)name;
|
||||
return (PBGetCatInfoSync((CInfoPBRec*)&fpb) == noErr)? 1: 0;
|
||||
#else
|
||||
@@ -162,9 +162,6 @@ static int bpath_exists (hawk_gem_t* g, const hawk_bch_t* name, hawk_becs_t* mbu
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#if defined(NO_RECURSION)
|
||||
typedef struct __u_stack_node_t __u_stack_node_t;
|
||||
#endif
|
||||
@@ -303,7 +300,7 @@ static int __u_get_next_segment (__u_glob_t* g, __u_segment_t* seg)
|
||||
}
|
||||
else
|
||||
{
|
||||
HAWK_ASSERT (seg->type == NORMAL);
|
||||
HAWK_ASSERT(seg->type == NORMAL);
|
||||
|
||||
seg->ptr = &seg->ptr[seg->len + 1];
|
||||
seg->len = 0;
|
||||
@@ -344,9 +341,9 @@ static int __u_handle_non_wild_segments (__u_glob_t* g, __u_segment_t* seg)
|
||||
{
|
||||
while (__u_get_next_segment(g, seg) != NONE && !seg->wild)
|
||||
{
|
||||
HAWK_ASSERT (seg->type != NONE && !seg->wild);
|
||||
HAWK_ASSERT(seg->type != NONE && !seg->wild);
|
||||
|
||||
if (seg->sep && hawk_uecs_ccat (&g->path, seg->sep) == (hawk_oow_t)-1) return -1;
|
||||
if (seg->sep && hawk_uecs_ccat(&g->path, seg->sep) == (hawk_oow_t)-1) return -1;
|
||||
if (seg->esc)
|
||||
{
|
||||
/* if the segment contains escape sequences,
|
||||
@@ -358,7 +355,7 @@ static int __u_handle_non_wild_segments (__u_glob_t* g, __u_segment_t* seg)
|
||||
int escaped = 0;
|
||||
|
||||
if (HAWK_UECS_CAPA(&g->tbuf) < seg->len &&
|
||||
hawk_uecs_setcapa (&g->tbuf, seg->len) == (hawk_oow_t)-1) return -1;
|
||||
hawk_uecs_setcapa(&g->tbuf, seg->len) == (hawk_oow_t)-1) return -1;
|
||||
|
||||
tmp.ptr = HAWK_UECS_PTR(&g->tbuf);
|
||||
tmp.len = 0;
|
||||
@@ -381,13 +378,13 @@ static int __u_handle_non_wild_segments (__u_glob_t* g, __u_segment_t* seg)
|
||||
}
|
||||
}
|
||||
|
||||
if (hawk_uecs_ncat (&g->path, tmp.ptr, tmp.len) == (hawk_oow_t)-1) return -1;
|
||||
if (hawk_uecs_ncat(&g->path, tmp.ptr, tmp.len) == (hawk_oow_t)-1) return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* if the segment doesn't contain escape sequences,
|
||||
* append the segment to the path without special handling */
|
||||
if (hawk_uecs_ncat (&g->path, seg->ptr, seg->len) == (hawk_oow_t)-1) return -1;
|
||||
if (hawk_uecs_ncat(&g->path, seg->ptr, seg->len) == (hawk_oow_t)-1) return -1;
|
||||
}
|
||||
|
||||
if (!seg->next && upath_exists(g->gem, HAWK_UECS_PTR(&g->path), &g->mbuf) > 0)
|
||||
@@ -434,7 +431,7 @@ entry:
|
||||
|
||||
while (1)
|
||||
{
|
||||
hawk_uecs_setlen (&g->path, tmp2);
|
||||
hawk_uecs_setlen(&g->path, tmp2);
|
||||
|
||||
x = hawk_dir_read(dp, &ent);
|
||||
if (x <= -1)
|
||||
@@ -497,12 +494,12 @@ entry:
|
||||
}
|
||||
}
|
||||
|
||||
hawk_uecs_setlen (&g->path, tmp);
|
||||
hawk_dir_close (dp); dp = HAWK_NULL;
|
||||
hawk_uecs_setlen(&g->path, tmp);
|
||||
hawk_dir_close(dp); dp = HAWK_NULL;
|
||||
}
|
||||
}
|
||||
|
||||
HAWK_ASSERT (dp == HAWK_NULL);
|
||||
HAWK_ASSERT(dp == HAWK_NULL);
|
||||
|
||||
#if defined(NO_RECURSION)
|
||||
if (g->stack)
|
||||
@@ -531,29 +528,29 @@ entry:
|
||||
/* destory the free list */
|
||||
r = g->free;
|
||||
g->free = r->next;
|
||||
hawk_gem_freemem (g->gem, r);
|
||||
hawk_gem_freemem(g->gem, r);
|
||||
}
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
||||
oops:
|
||||
if (dp) hawk_dir_close (dp);
|
||||
if (dp) hawk_dir_close(dp);
|
||||
|
||||
#if defined(NO_RECURSION)
|
||||
while (g->stack)
|
||||
{
|
||||
r = g->stack;
|
||||
g->stack = r->next;
|
||||
hawk_dir_close (r->dp);
|
||||
hawk_gem_freemem (g->gem, r);
|
||||
hawk_dir_close(r->dp);
|
||||
hawk_gem_freemem(g->gem, r);
|
||||
}
|
||||
|
||||
while (g->free)
|
||||
{
|
||||
r = g->stack;
|
||||
g->free = r->next;
|
||||
hawk_gem_freemem (g->gem, r);
|
||||
hawk_gem_freemem(g->gem, r);
|
||||
}
|
||||
#endif
|
||||
return -1;
|
||||
@@ -565,7 +562,7 @@ int hawk_gem_uglob (hawk_gem_t* gem, const hawk_uch_t* pattern, hawk_gem_uglob_c
|
||||
__u_glob_t g;
|
||||
int x;
|
||||
|
||||
HAWK_MEMSET (&g, 0, HAWK_SIZEOF(g));
|
||||
HAWK_MEMSET(&g, 0, HAWK_SIZEOF(g));
|
||||
g.gem = gem;
|
||||
g.cbimpl = cbimpl;
|
||||
g.cbctx = cbctx;
|
||||
@@ -583,7 +580,7 @@ int hawk_gem_uglob (hawk_gem_t* gem, const hawk_uch_t* pattern, hawk_gem_uglob_c
|
||||
if (hawk_uecs_init(&g.path, g.gem, 512) <= -1) return -1;
|
||||
if (hawk_uecs_init(&g.tbuf, g.gem, 256) <= -1)
|
||||
{
|
||||
hawk_uecs_fini (&g.path);
|
||||
hawk_uecs_fini(&g.path);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -591,22 +588,22 @@ int hawk_gem_uglob (hawk_gem_t* gem, const hawk_uch_t* pattern, hawk_gem_uglob_c
|
||||
{
|
||||
if (hawk_becs_init(&g.mbuf, g.gem, 512) <= -1)
|
||||
{
|
||||
hawk_uecs_fini (&g.path);
|
||||
hawk_uecs_fini (&g.path);
|
||||
hawk_uecs_fini(&g.path);
|
||||
hawk_uecs_fini(&g.path);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
HAWK_MEMSET (&seg, 0, HAWK_SIZEOF(seg));
|
||||
HAWK_MEMSET(&seg, 0, HAWK_SIZEOF(seg));
|
||||
seg.type = NONE;
|
||||
seg.ptr = pattern;
|
||||
seg.len = 0;
|
||||
|
||||
x = __u_search(&g, &seg);
|
||||
|
||||
if (HAWK_SIZEOF(hawk_uch_t) != HAWK_SIZEOF(hawk_uch_t)) hawk_becs_fini (&g.mbuf);
|
||||
hawk_uecs_fini (&g.tbuf);
|
||||
hawk_uecs_fini (&g.path);
|
||||
if (HAWK_SIZEOF(hawk_uch_t) != HAWK_SIZEOF(hawk_uch_t)) hawk_becs_fini(&g.mbuf);
|
||||
hawk_uecs_fini(&g.tbuf);
|
||||
hawk_uecs_fini(&g.path);
|
||||
|
||||
if (x <= -1) return -1;
|
||||
return g.expanded;
|
||||
@@ -753,7 +750,7 @@ static int __b_get_next_segment (__b_glob_t* g, __b_segment_t* seg)
|
||||
}
|
||||
else
|
||||
{
|
||||
HAWK_ASSERT (seg->type == NORMAL);
|
||||
HAWK_ASSERT(seg->type == NORMAL);
|
||||
|
||||
seg->ptr = &seg->ptr[seg->len + 1];
|
||||
seg->len = 0;
|
||||
@@ -794,21 +791,20 @@ static int __b_handle_non_wild_segments (__b_glob_t* g, __b_segment_t* seg)
|
||||
{
|
||||
while (__b_get_next_segment(g, seg) != NONE && !seg->wild)
|
||||
{
|
||||
HAWK_ASSERT (seg->type != NONE && !seg->wild);
|
||||
HAWK_ASSERT(seg->type != NONE && !seg->wild);
|
||||
|
||||
if (seg->sep && hawk_becs_ccat (&g->path, seg->sep) == (hawk_oow_t)-1) return -1;
|
||||
if (seg->sep && hawk_becs_ccat(&g->path, seg->sep) == (hawk_oow_t)-1) return -1;
|
||||
if (seg->esc)
|
||||
{
|
||||
/* if the segment contains escape sequences,
|
||||
* strip the escape letters off the segment */
|
||||
|
||||
|
||||
hawk_bcs_t tmp;
|
||||
hawk_oow_t i;
|
||||
int escaped = 0;
|
||||
|
||||
if (HAWK_BECS_CAPA(&g->tbuf) < seg->len &&
|
||||
hawk_becs_setcapa (&g->tbuf, seg->len) == (hawk_oow_t)-1) return -1;
|
||||
hawk_becs_setcapa(&g->tbuf, seg->len) == (hawk_oow_t)-1) return -1;
|
||||
|
||||
tmp.ptr = HAWK_BECS_PTR(&g->tbuf);
|
||||
tmp.len = 0;
|
||||
@@ -831,13 +827,13 @@ static int __b_handle_non_wild_segments (__b_glob_t* g, __b_segment_t* seg)
|
||||
}
|
||||
}
|
||||
|
||||
if (hawk_becs_ncat (&g->path, tmp.ptr, tmp.len) == (hawk_oow_t)-1) return -1;
|
||||
if (hawk_becs_ncat(&g->path, tmp.ptr, tmp.len) == (hawk_oow_t)-1) return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* if the segment doesn't contain escape sequences,
|
||||
* append the segment to the path without special handling */
|
||||
if (hawk_becs_ncat (&g->path, seg->ptr, seg->len) == (hawk_oow_t)-1) return -1;
|
||||
if (hawk_becs_ncat(&g->path, seg->ptr, seg->len) == (hawk_oow_t)-1) return -1;
|
||||
}
|
||||
|
||||
if (!seg->next && bpath_exists(g->gem, HAWK_BECS_PTR(&g->path), &g->mbuf) > 0)
|
||||
@@ -884,7 +880,7 @@ entry:
|
||||
|
||||
while (1)
|
||||
{
|
||||
hawk_becs_setlen (&g->path, tmp2);
|
||||
hawk_becs_setlen(&g->path, tmp2);
|
||||
|
||||
x = hawk_dir_read(dp, &ent);
|
||||
if (x <= -1)
|
||||
@@ -947,12 +943,12 @@ entry:
|
||||
}
|
||||
}
|
||||
|
||||
hawk_becs_setlen (&g->path, tmp);
|
||||
hawk_dir_close (dp); dp = HAWK_NULL;
|
||||
hawk_becs_setlen(&g->path, tmp);
|
||||
hawk_dir_close(dp); dp = HAWK_NULL;
|
||||
}
|
||||
}
|
||||
|
||||
HAWK_ASSERT (dp == HAWK_NULL);
|
||||
HAWK_ASSERT(dp == HAWK_NULL);
|
||||
|
||||
#if defined(NO_RECURSION)
|
||||
if (g->stack)
|
||||
@@ -981,29 +977,29 @@ entry:
|
||||
/* destory the free list */
|
||||
r = g->free;
|
||||
g->free = r->next;
|
||||
hawk_gem_freemem (g->gem, r);
|
||||
hawk_gem_freemem(g->gem, r);
|
||||
}
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
||||
oops:
|
||||
if (dp) hawk_dir_close (dp);
|
||||
if (dp) hawk_dir_close(dp);
|
||||
|
||||
#if defined(NO_RECURSION)
|
||||
while (g->stack)
|
||||
{
|
||||
r = g->stack;
|
||||
g->stack = r->next;
|
||||
hawk_dir_close (r->dp);
|
||||
hawk_gem_freemem (g->gem, r);
|
||||
hawk_dir_close(r->dp);
|
||||
hawk_gem_freemem(g->gem, r);
|
||||
}
|
||||
|
||||
while (g->free)
|
||||
{
|
||||
r = g->stack;
|
||||
g->free = r->next;
|
||||
hawk_gem_freemem (g->gem, r);
|
||||
hawk_gem_freemem(g->gem, r);
|
||||
}
|
||||
#endif
|
||||
return -1;
|
||||
@@ -1015,7 +1011,7 @@ int hawk_gem_bglob (hawk_gem_t* gem, const hawk_bch_t* pattern, hawk_gem_bglob_c
|
||||
__b_glob_t g;
|
||||
int x;
|
||||
|
||||
HAWK_MEMSET (&g, 0, HAWK_SIZEOF(g));
|
||||
HAWK_MEMSET(&g, 0, HAWK_SIZEOF(g));
|
||||
g.gem = gem;
|
||||
g.cbimpl = cbimpl;
|
||||
g.cbctx = cbctx;
|
||||
@@ -1033,7 +1029,7 @@ int hawk_gem_bglob (hawk_gem_t* gem, const hawk_bch_t* pattern, hawk_gem_bglob_c
|
||||
if (hawk_becs_init(&g.path, g.gem, 512) <= -1) return -1;
|
||||
if (hawk_becs_init(&g.tbuf, g.gem, 256) <= -1)
|
||||
{
|
||||
hawk_becs_fini (&g.path);
|
||||
hawk_becs_fini(&g.path);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -1041,22 +1037,22 @@ int hawk_gem_bglob (hawk_gem_t* gem, const hawk_bch_t* pattern, hawk_gem_bglob_c
|
||||
{
|
||||
if (hawk_becs_init(&g.mbuf, g.gem, 512) <= -1)
|
||||
{
|
||||
hawk_becs_fini (&g.path);
|
||||
hawk_becs_fini (&g.path);
|
||||
hawk_becs_fini(&g.path);
|
||||
hawk_becs_fini(&g.path);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
HAWK_MEMSET (&seg, 0, HAWK_SIZEOF(seg));
|
||||
HAWK_MEMSET(&seg, 0, HAWK_SIZEOF(seg));
|
||||
seg.type = NONE;
|
||||
seg.ptr = pattern;
|
||||
seg.len = 0;
|
||||
|
||||
x = __b_search(&g, &seg);
|
||||
|
||||
if (HAWK_SIZEOF(hawk_bch_t) != HAWK_SIZEOF(hawk_uch_t)) hawk_becs_fini (&g.mbuf);
|
||||
hawk_becs_fini (&g.tbuf);
|
||||
hawk_becs_fini (&g.path);
|
||||
if (HAWK_SIZEOF(hawk_bch_t) != HAWK_SIZEOF(hawk_uch_t)) hawk_becs_fini(&g.mbuf);
|
||||
hawk_becs_fini(&g.tbuf);
|
||||
hawk_becs_fini(&g.path);
|
||||
|
||||
if (x <= -1) return -1;
|
||||
return g.expanded;
|
||||
|
||||
@@ -778,10 +778,23 @@ HAWK_EXPORT const hawk_bch_t* hawk_get_base_name_bcstr (
|
||||
const hawk_bch_t* path
|
||||
);
|
||||
|
||||
HAWK_EXPORT const hawk_uch_t* hawk_get_base_name_uchars (
|
||||
const hawk_uch_t* path,
|
||||
hawk_oow_t len
|
||||
);
|
||||
|
||||
HAWK_EXPORT const hawk_bch_t* hawk_get_base_name_bchars (
|
||||
const hawk_bch_t* path,
|
||||
hawk_oow_t len
|
||||
);
|
||||
|
||||
#if defined(HAWK_OOCH_IS_UCH)
|
||||
# define hawk_get_base_name_oocstr hawk_get_base_name_ucstr
|
||||
# define hawk_get_base_name_oochars hawk_get_base_name_uchars
|
||||
#else
|
||||
# define hawk_get_base_name_oocstr hawk_get_base_name_bcstr
|
||||
# define hawk_get_base_name_ochars hawk_get_base_name_bchars
|
||||
|
||||
#endif
|
||||
|
||||
/* =========================================================================
|
||||
|
||||
126
lib/mod-sys.c
126
lib/mod-sys.c
@@ -273,7 +273,7 @@ enum mux_evt_code_t
|
||||
static hawk_int_t copy_error_to_sys_list (hawk_rtx_t* rtx, sys_list_t* sys_list)
|
||||
{
|
||||
hawk_errnum_t errnum = hawk_rtx_geterrnum(rtx);
|
||||
hawk_copy_oocstr (sys_list->ctx.errmsg, HAWK_COUNTOF(sys_list->ctx.errmsg), hawk_rtx_geterrmsg(rtx));
|
||||
hawk_copy_oocstr(sys_list->ctx.errmsg, HAWK_COUNTOF(sys_list->ctx.errmsg), hawk_rtx_geterrmsg(rtx));
|
||||
return ERRNUM_TO_RC(errnum);
|
||||
}
|
||||
|
||||
@@ -367,7 +367,7 @@ static void chain_sys_node_to_mux_node (sys_node_t* mux_node, sys_node_t* node)
|
||||
sys_node_data_mux_t* mux_data = &mux_node->ctx.u.mux;
|
||||
sys_node_data_file_t* file_data = &node->ctx.u.file;
|
||||
|
||||
HAWK_ASSERT (!(node->ctx.flags & SYS_NODE_DATA_FLAG_IN_MUX));
|
||||
HAWK_ASSERT(!(node->ctx.flags & SYS_NODE_DATA_FLAG_IN_MUX));
|
||||
node->ctx.flags |= SYS_NODE_DATA_FLAG_IN_MUX;
|
||||
|
||||
file_data->mux = mux_node;
|
||||
@@ -384,7 +384,7 @@ static void unchain_sys_node_from_mux_node (sys_node_t* mux_node, sys_node_t* no
|
||||
sys_node_data_mux_t* mux_data = &mux_node->ctx.u.mux;
|
||||
sys_node_data_file_t* file_data = &node->ctx.u.file;
|
||||
|
||||
HAWK_ASSERT (node->ctx.flags & SYS_NODE_DATA_FLAG_IN_MUX);
|
||||
HAWK_ASSERT(node->ctx.flags & SYS_NODE_DATA_FLAG_IN_MUX);
|
||||
node->ctx.flags &= ~SYS_NODE_DATA_FLAG_IN_MUX;
|
||||
|
||||
if (file_data->x_prev) ((sys_node_t*)file_data->x_prev)->ctx.u.file.x_next = file_data->x_next;
|
||||
@@ -501,7 +501,7 @@ static HAWK_INLINE rtx_data_t* rtx_to_data (hawk_rtx_t* rtx, const hawk_fnc_info
|
||||
mod_ctx_t* mctx = (mod_ctx_t*)fi->mod->ctx;
|
||||
hawk_rbt_pair_t* pair;
|
||||
pair = hawk_rbt_search(mctx->rtxtab, &rtx, HAWK_SIZEOF(rtx));
|
||||
HAWK_ASSERT (pair != HAWK_NULL);
|
||||
HAWK_ASSERT(pair != HAWK_NULL);
|
||||
return (rtx_data_t*)HAWK_RBT_VPTR(pair);
|
||||
}
|
||||
|
||||
@@ -637,7 +637,7 @@ static int fnc_open (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
goto fail;
|
||||
}
|
||||
rx = new_node->id;
|
||||
HAWK_ASSERT (rx >= 0);
|
||||
HAWK_ASSERT(rx >= 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -650,7 +650,7 @@ static int fnc_open (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
rx = copy_error_to_sys_list(rtx, sys_list);
|
||||
}
|
||||
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -686,14 +686,14 @@ static int fnc_openfd (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
if (!sys_node) goto fail;
|
||||
|
||||
rx = sys_node->id;
|
||||
HAWK_ASSERT (rx >= 0);
|
||||
HAWK_ASSERT(rx >= 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
rx = set_error_on_sys_list(rtx, sys_list, HAWK_EINVAL, HAWK_T("invalid file descriptor %jd"), (hawk_intmax_t)fd);
|
||||
}
|
||||
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -997,7 +997,7 @@ static int fnc_dup (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
}
|
||||
|
||||
done:
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(rx)); /* assume a file descriptor never gets larger than HAWK_INT_MAX */
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(rx)); /* assume a file descriptor never gets larger than HAWK_INT_MAX */
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -1083,12 +1083,12 @@ static int fnc_flock (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
hawk_int_t rx;
|
||||
hawk_val_t* retv;
|
||||
|
||||
HAWK_STATIC_ASSERT (FLOCK_GET != F_RDLCK);
|
||||
HAWK_STATIC_ASSERT (FLOCK_GET != F_WRLCK);
|
||||
HAWK_STATIC_ASSERT (FLOCK_GET != F_UNLCK);
|
||||
HAWK_STATIC_ASSERT (FLOCK_WAIT != F_RDLCK);
|
||||
HAWK_STATIC_ASSERT (FLOCK_WAIT != F_WRLCK);
|
||||
HAWK_STATIC_ASSERT (FLOCK_WAIT != F_UNLCK);
|
||||
HAWK_STATIC_ASSERT(FLOCK_GET != F_RDLCK);
|
||||
HAWK_STATIC_ASSERT(FLOCK_GET != F_WRLCK);
|
||||
HAWK_STATIC_ASSERT(FLOCK_GET != F_UNLCK);
|
||||
HAWK_STATIC_ASSERT(FLOCK_WAIT != F_RDLCK);
|
||||
HAWK_STATIC_ASSERT(FLOCK_WAIT != F_WRLCK);
|
||||
HAWK_STATIC_ASSERT(FLOCK_WAIT != F_UNLCK);
|
||||
|
||||
sys_list = rtx_to_sys_list(rtx, fi);
|
||||
sys_node = get_sys_list_node_with_arg(rtx, sys_list, hawk_rtx_getarg(rtx, 0), SYS_NODE_DATA_TYPE_FILE, &rx);
|
||||
@@ -1774,7 +1774,7 @@ static int fnc_opendir (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
rx = copy_error_to_sys_list(rtx, sys_list);
|
||||
}
|
||||
|
||||
/*HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));*/
|
||||
/*HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));*/
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -2823,7 +2823,7 @@ done:
|
||||
if (val) hawk_rtx_freevalbcstr(rtx, a1, val);
|
||||
if (var) hawk_rtx_freevalbcstr(rtx, a0, var);
|
||||
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -2865,7 +2865,7 @@ static int fnc_unsetenv (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
done:
|
||||
if (str) hawk_rtx_freevalbcstr(rtx, a0, str);
|
||||
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -3032,7 +3032,7 @@ static int fnc_system (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
done:
|
||||
if (str) hawk_rtx_freevaloocstr(rtx, a0, str);
|
||||
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -3081,7 +3081,7 @@ static int fnc_chroot (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
}
|
||||
#endif
|
||||
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -3133,7 +3133,7 @@ static int fnc_chmod (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
}
|
||||
#endif
|
||||
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -3213,7 +3213,7 @@ static int fnc_mkdir (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
}
|
||||
#endif
|
||||
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -3289,7 +3289,7 @@ static int fnc_rmdir (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
}
|
||||
#endif
|
||||
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -3367,7 +3367,7 @@ static int fnc_unlink (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
}
|
||||
#endif
|
||||
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -3415,7 +3415,7 @@ static int fnc_symlink (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
}
|
||||
#endif
|
||||
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -3584,7 +3584,7 @@ static int fnc_stat (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
}
|
||||
done:
|
||||
#endif
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -3649,7 +3649,7 @@ static int fnc_utime (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
}
|
||||
#endif
|
||||
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -3705,7 +3705,7 @@ static int fnc_openmux (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL);
|
||||
#endif
|
||||
|
||||
/*HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));*/
|
||||
/*HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));*/
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -3966,11 +3966,11 @@ static int fnc_getmuxevt (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
goto done;
|
||||
}
|
||||
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(file_node->id));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(file_node->id));
|
||||
x = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 2), hawk_rtx_makeintval(rtx, file_node->id));
|
||||
if (x <= -1) goto fail;
|
||||
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(mux_data->x_evt[index].events));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(mux_data->x_evt[index].events));
|
||||
x = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 3), hawk_rtx_makeintval(rtx, mux_data->x_evt[index].events));
|
||||
if (x <= -1) goto fail;
|
||||
}
|
||||
@@ -4017,7 +4017,7 @@ static int fnc_sockaddrdom (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
rx = copy_error_to_sys_list(rtx, sys_list);
|
||||
}
|
||||
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -4050,7 +4050,7 @@ static int fnc_socket (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
{
|
||||
new_node->ctx.type = SYS_NODE_DATA_TYPE_SCK; /* override the type to socket */
|
||||
rx = new_node->id;
|
||||
HAWK_ASSERT (rx >= 0);
|
||||
HAWK_ASSERT(rx >= 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -4058,7 +4058,7 @@ static int fnc_socket (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL);
|
||||
}
|
||||
|
||||
HAWK_ASSERT (HAWK_IN_INT_RANGE(rx));
|
||||
HAWK_ASSERT(HAWK_IN_INT_RANGE(rx));
|
||||
hawk_rtx_setretval(rtx, hawk_rtx_makeintval(rtx, rx));
|
||||
return 0;
|
||||
}
|
||||
@@ -4434,7 +4434,7 @@ static int fnc_accept (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
|
||||
new_node->ctx.type = SYS_NODE_DATA_TYPE_SCK; /* override the type to socket */
|
||||
rx = new_node->id;
|
||||
HAWK_ASSERT (rx >= 0);
|
||||
HAWK_ASSERT(rx >= 0);
|
||||
}
|
||||
|
||||
done:
|
||||
@@ -4536,7 +4536,7 @@ static void open_remote_log_socket (hawk_rtx_t* rtx, rtx_data_t* rdp)
|
||||
int domain = hawk_skad_get_family(&rdp->log.skad);
|
||||
int type = SOCK_DGRAM;
|
||||
|
||||
HAWK_ASSERT (rdp->log.sck <= -1);
|
||||
HAWK_ASSERT(rdp->log.sck <= -1);
|
||||
|
||||
#if defined(SOCK_NONBLOCK) && defined(SOCK_CLOEXEC)
|
||||
type |= SOCK_NONBLOCK;
|
||||
@@ -4618,7 +4618,7 @@ static int fnc_openlog (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
log_type = SYSLOG_REMOTE;
|
||||
actual_ident = ident + pfxlen;
|
||||
actual_ident_len = ident_len - pfxlen;
|
||||
slash = hawk_rfind_oochar_in_oochars(actual_ident, actual_ident_len, '/'); // fine the last slash
|
||||
slash = hawk_rfind_oochar_in_oochars(actual_ident, actual_ident_len, '/'); // find the last slash
|
||||
if (!slash)
|
||||
{
|
||||
rx = set_error_on_sys_list(rtx, sys_list, HAWK_EINVAL, HAWK_T("invalid identifier '%js' with remote address"), ident);
|
||||
@@ -5257,7 +5257,7 @@ static hawk_int_t pack_data (hawk_rtx_t* rtx, const hawk_oocs_t* fmt, const hawk
|
||||
hawk_flt_t v;
|
||||
float x;
|
||||
hawk_uint32_t y;
|
||||
HAWK_ASSERT (HAWK_SIZEOF(float) == HAWK_SIZEOF(hawk_uint32_t));
|
||||
HAWK_ASSERT(HAWK_SIZEOF(float) == HAWK_SIZEOF(hawk_uint32_t));
|
||||
PACK_CHECK_ARG_AND_BUF(rep_cnt, HAWK_SIZEOF(hawk_uint32_t) * rep_cnt);
|
||||
for (rc = 0; rc < rep_cnt; rc++)
|
||||
{
|
||||
@@ -5274,7 +5274,7 @@ static hawk_int_t pack_data (hawk_rtx_t* rtx, const hawk_oocs_t* fmt, const hawk
|
||||
hawk_flt_t v;
|
||||
double x;
|
||||
hawk_uint64_t y;
|
||||
HAWK_ASSERT (HAWK_SIZEOF(double) == HAWK_SIZEOF(hawk_uint64_t));
|
||||
HAWK_ASSERT(HAWK_SIZEOF(double) == HAWK_SIZEOF(hawk_uint64_t));
|
||||
PACK_CHECK_ARG_AND_BUF(rep_cnt, HAWK_SIZEOF(hawk_uint64_t) * rep_cnt);
|
||||
for (rc = 0; rc < rep_cnt; rc++)
|
||||
{
|
||||
@@ -5867,6 +5867,52 @@ fail:
|
||||
goto done;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------- */
|
||||
static int fnc_basename (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
{
|
||||
hawk_val_t* a0, * tmp;
|
||||
hawk_oocs_t path;
|
||||
const hawk_ooch_t* ptr;
|
||||
|
||||
a0 = hawk_rtx_getarg(rtx, 0);
|
||||
|
||||
path.ptr = hawk_rtx_getvaloocstr(rtx, a0, &path.len);
|
||||
if (HAWK_UNLIKELY(!path.ptr)) return -1;
|
||||
|
||||
ptr = hawk_get_base_name_oochars(path.ptr, path.len);
|
||||
|
||||
tmp = hawk_rtx_makestrvalwithoocstr(rtx, ptr);
|
||||
hawk_rtx_freevaloocstr(rtx, a0, path.ptr);
|
||||
if (HAWK_UNLIKELY(!tmp)) return -1;
|
||||
|
||||
hawk_rtx_setretval(rtx, tmp);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int fnc_dirname (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
|
||||
{
|
||||
hawk_val_t* a0, * tmp;
|
||||
hawk_oocs_t path;
|
||||
const hawk_ooch_t* ptr;
|
||||
hawk_oow_t len;
|
||||
|
||||
a0 = hawk_rtx_getarg(rtx, 0);
|
||||
|
||||
path.ptr = hawk_rtx_getvaloocstr(rtx, a0, &path.len);
|
||||
if (HAWK_UNLIKELY(!path.ptr)) return -1;
|
||||
|
||||
ptr = hawk_get_base_name_oochars(path.ptr, path.len);
|
||||
|
||||
len = ptr - path.ptr;
|
||||
if (len > 1) len--;
|
||||
tmp = hawk_rtx_makestrvalwithoochars(rtx, path.ptr, len);
|
||||
hawk_rtx_freevaloocstr(rtx, a0, path.ptr);
|
||||
if (HAWK_UNLIKELY(!tmp)) return -1;
|
||||
|
||||
hawk_rtx_setretval(rtx, tmp);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------- */
|
||||
|
||||
#define A_MAX HAWK_TYPE_MAX(hawk_oow_t)
|
||||
@@ -5884,6 +5930,7 @@ static hawk_mod_fnc_tab_t fnctab[] =
|
||||
{ HAWK_T("WTERMSIG"), { { 1, 1, HAWK_NULL }, fnc_wtermsig, 0 } },
|
||||
{ HAWK_T("accept"), { { 1, 3, HAWK_T("vvr") }, fnc_accept, 0 } },
|
||||
{ HAWK_T("addtomux"), { { 3, 3, HAWK_NULL }, fnc_addtomux, 0 } },
|
||||
{ HAWK_T("basename"), { { 1, 1, HAWK_NULL }, fnc_basename, 0 } },
|
||||
{ HAWK_T("bind"), { { 2, 2, HAWK_NULL }, fnc_bind, 0 } },
|
||||
{ HAWK_T("chmod"), { { 2, 2, HAWK_NULL }, fnc_chmod, 0 } },
|
||||
{ HAWK_T("chroot"), { { 1, 1, HAWK_NULL }, fnc_chroot, 0 } },
|
||||
@@ -5893,6 +5940,7 @@ static hawk_mod_fnc_tab_t fnctab[] =
|
||||
{ HAWK_T("closemux"), { { 1, 1, HAWK_NULL }, fnc_closemux, 0 } },
|
||||
{ HAWK_T("connect"), { { 2, 2, HAWK_NULL }, fnc_connect, 0 } },
|
||||
{ HAWK_T("delfrommux"), { { 2, 2, HAWK_NULL }, fnc_delfrommux, 0 } },
|
||||
{ HAWK_T("dirname"), { { 1, 1, HAWK_NULL }, fnc_dirname, 0 } },
|
||||
{ HAWK_T("dup"), { { 1, 3, HAWK_NULL }, fnc_dup, 0 } },
|
||||
{ HAWK_T("errmsg"), { { 0, 0, HAWK_NULL }, fnc_errmsg, 0 } },
|
||||
{ HAWK_T("fchmod"), { { 2, 2, HAWK_NULL }, fnc_fchmod, 0 } },
|
||||
@@ -6395,7 +6443,7 @@ static void unload (hawk_mod_t* mod, hawk_t* hawk)
|
||||
{
|
||||
mod_ctx_t* mctx = (mod_ctx_t*)mod->ctx;
|
||||
|
||||
HAWK_ASSERT (HAWK_RBT_SIZE(mctx->rtxtab) == 0);
|
||||
HAWK_ASSERT(HAWK_RBT_SIZE(mctx->rtxtab) == 0);
|
||||
hawk_rbt_close(mctx->rtxtab);
|
||||
|
||||
hawk_freemem(hawk, mctx);
|
||||
|
||||
29
lib/utl.c
29
lib/utl.c
@@ -524,7 +524,7 @@ const hawk_uch_t* hawk_get_base_name_ucstr (const hawk_uch_t* path)
|
||||
if (IS_PATH_SEP(*p)) last = p;
|
||||
}
|
||||
|
||||
return last? (last +1): path;
|
||||
return last? (last + 1): path;
|
||||
}
|
||||
|
||||
const hawk_bch_t* hawk_get_base_name_bcstr (const hawk_bch_t* path)
|
||||
@@ -536,6 +536,31 @@ const hawk_bch_t* hawk_get_base_name_bcstr (const hawk_bch_t* path)
|
||||
if (IS_PATH_SEP(*p)) last = p;
|
||||
}
|
||||
|
||||
return last? (last +1): path;
|
||||
return last? (last + 1): path;
|
||||
}
|
||||
|
||||
const hawk_uch_t* hawk_get_base_name_uchars (const hawk_uch_t* path, hawk_oow_t len)
|
||||
{
|
||||
const hawk_uch_t* p, * last = HAWK_NULL;
|
||||
const hawk_uch_t* end = path + len;
|
||||
|
||||
for (p = path; p < end; p++)
|
||||
{
|
||||
if (IS_PATH_SEP(*p)) last = p;
|
||||
}
|
||||
|
||||
return last? (last + 1): path;
|
||||
}
|
||||
|
||||
const hawk_bch_t* hawk_get_base_name_bchars (const hawk_bch_t* path, hawk_oow_t len)
|
||||
{
|
||||
const hawk_bch_t* p, * last = HAWK_NULL;
|
||||
const hawk_bch_t* end = path + len;
|
||||
|
||||
for (p = path; p < end; p++)
|
||||
{
|
||||
if (IS_PATH_SEP(*p)) last = p;
|
||||
}
|
||||
|
||||
return last? (last + 1): path;
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ public:
|
||||
|
||||
int open ()
|
||||
{
|
||||
if (HawkStd::open () <= -1) return -1;
|
||||
if (HawkStd::open() <= -1) return -1;
|
||||
|
||||
idLastSleep = this->addGlobal(HAWK_T("LAST_SLEEP"));
|
||||
if (idLastSleep <= -1) goto oops;
|
||||
@@ -413,7 +413,7 @@ static int hawk_main (MyHawk& hawk, int argc, hawk_bch_t* argv[])
|
||||
cmdline_t cmdline;
|
||||
int n;
|
||||
|
||||
hawk.setTrait (hawk.getTrait() | HAWK_FLEXMAP | HAWK_RWPIPE | HAWK_NEXTOFILE);
|
||||
hawk.setTrait(hawk.getTrait() | HAWK_FLEXMAP | HAWK_RWPIPE | HAWK_NEXTOFILE);
|
||||
|
||||
// ARGV[0]
|
||||
if (hawk.addArgument(HAWK_T("hawk51")) <= -1)
|
||||
@@ -424,7 +424,7 @@ static int hawk_main (MyHawk& hawk, int argc, hawk_bch_t* argv[])
|
||||
|
||||
if ((n = handle_cmdline(hawk, argc, argv, &cmdline)) <= 0) return n;
|
||||
|
||||
if (cmdline.incdirs) hawk.setIncludeDirs (cmdline.incdirs);
|
||||
if (cmdline.incdirs) hawk.setIncludeDirs(cmdline.incdirs);
|
||||
MyHawk::Source* in, * out;
|
||||
MyHawk::SourceString in_str(cmdline.ins);
|
||||
MyHawk::SourceFile in_file(cmdline.inf);
|
||||
|
||||
Reference in New Issue
Block a user