removed SYSLOG_DEVLOG

This commit is contained in:
hyung-hwan 2023-06-29 16:33:53 +09:00
parent 139808dda7
commit b6aed953c1

View File

@ -123,7 +123,6 @@ typedef enum syslog_type_t syslog_type_t;
enum syslog_type_t enum syslog_type_t
{ {
SYSLOG_LOCAL, SYSLOG_LOCAL,
SYSLOG_DEVLOG,
SYSLOG_REMOTE, SYSLOG_REMOTE,
}; };
@ -453,7 +452,7 @@ static void free_sys_node (hawk_rtx_t* rtx, sys_list_t* list, sys_node_t* node)
{ {
case SYS_NODE_DATA_TYPE_FILE: case SYS_NODE_DATA_TYPE_FILE:
case SYS_NODE_DATA_TYPE_SCK: case SYS_NODE_DATA_TYPE_SCK:
if (node->ctx.u.file.fd >= 0) if (node->ctx.u.file.fd >= 0)
{ {
del_from_mux (rtx, node); del_from_mux (rtx, node);
close (node->ctx.u.file.fd); close (node->ctx.u.file.fd);
@ -601,7 +600,7 @@ static int fnc_close (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
static int fnc_open (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi) static int fnc_open (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
{ {
sys_list_t* sys_list; sys_list_t* sys_list;
hawk_int_t rx, oflags = 0, mode = DEFAULT_MODE; hawk_int_t rx, oflags = 0, mode = DEFAULT_MODE;
int fd; int fd;
hawk_bch_t* pstr; hawk_bch_t* pstr;
@ -629,7 +628,7 @@ static int fnc_open (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
sys_node_t* new_node; sys_node_t* new_node;
new_node = new_sys_node_fd(rtx, sys_list, fd); new_node = new_sys_node_fd(rtx, sys_list, fd);
if (!new_node) if (!new_node)
{ {
close (fd); close (fd);
goto fail; goto fail;
@ -697,8 +696,8 @@ static int fnc_openfd (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
} }
/* sys::read(sck, buf[, limit, [, delim]]); /* sys::read(sck, buf[, limit, [, delim]]);
* *
* [NOTE] * [NOTE]
* If delim is specified, sys::read() may keep some residue data for subsequent calls. * If delim is specified, sys::read() may keep some residue data for subsequent calls.
* sys::recvfrom() discards the residue data if it is called after sys::read(). * sys::recvfrom() discards the residue data if it is called after sys::read().
@ -754,7 +753,7 @@ static int fnc_read (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
hawk_int_t i; hawk_int_t i;
for (i = 0; i < sys_list->ctx.readbuf_len; i++) for (i = 0; i < sys_list->ctx.readbuf_len; i++)
{ {
if (sys_list->ctx.readbuf[i] == delim) if (sys_list->ctx.readbuf[i] == delim)
{ {
/* the residue data contains the delimiter */ /* the residue data contains the delimiter */
rx = i + 1; rx = i + 1;
@ -764,11 +763,11 @@ static int fnc_read (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
} }
/* check the residue data is bigger than the maximum data size requested */ /* check the residue data is bigger than the maximum data size requested */
if (sys_list->ctx.readbuf_len >= reqsize) goto make_val_0; if (sys_list->ctx.readbuf_len >= reqsize) goto make_val_0;
/* invoke the read system call */ /* invoke the read system call */
rx = read(sys_node->ctx.u.file.fd, &sys_list->ctx.readbuf[sys_list->ctx.readbuf_len], reqsize - sys_list->ctx.readbuf_len); rx = read(sys_node->ctx.u.file.fd, &sys_list->ctx.readbuf[sys_list->ctx.readbuf_len], reqsize - sys_list->ctx.readbuf_len);
if (rx <= 0) if (rx <= 0)
{ {
if (rx <= -1) rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_T("unable to read")); if (rx <= -1) rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_T("unable to read"));
goto done; goto done;
@ -783,14 +782,14 @@ static int fnc_read (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
make_val_0: make_val_0:
/* determine the data size to return */ /* determine the data size to return */
rx = reqsize <= sys_list->ctx.readbuf_len? reqsize: sys_list->ctx.readbuf_len; rx = reqsize <= sys_list->ctx.readbuf_len? reqsize: sys_list->ctx.readbuf_len;
if (delim != HAWK_BCI_EOF) if (delim != HAWK_BCI_EOF)
{ {
/* if the delimiter is specified, check if the data size can be shortened /* if the delimiter is specified, check if the data size can be shortened
* by finding the delimiter */ * by finding the delimiter */
hawk_int_t i; hawk_int_t i;
for (i = 0; i < rx; i++) for (i = 0; i < rx; i++)
{ {
if (sys_list->ctx.readbuf[i] == delim) if (sys_list->ctx.readbuf[i] == delim)
{ {
rx = i + 1; rx = i + 1;
break; break;
@ -800,7 +799,7 @@ static int fnc_read (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
make_val_1: make_val_1:
sv = hawk_rtx_makembsvalwithbchars(rtx, sys_list->ctx.readbuf, rx); sv = hawk_rtx_makembsvalwithbchars(rtx, sys_list->ctx.readbuf, rx);
if (!sv) if (!sv)
{ {
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
goto done; goto done;
@ -817,7 +816,7 @@ static int fnc_read (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
hawk_rtx_refupval (rtx, sv); hawk_rtx_refupval (rtx, sv);
x = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 1), sv); x = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 1), sv);
hawk_rtx_refdownval (rtx, sv); hawk_rtx_refdownval (rtx, sv);
if (x <= -1) if (x <= -1)
{ {
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
goto done; goto done;
@ -941,13 +940,13 @@ static int fnc_dup (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
{ {
int xflags; int xflags;
#if defined(O_CLOEXEC) && defined(FD_CLOEXEC) #if defined(O_CLOEXEC) && defined(FD_CLOEXEC)
if (oflags & O_CLOEXEC) if (oflags & O_CLOEXEC)
{ {
xflags = fcntl(fd, F_GETFD); xflags = fcntl(fd, F_GETFD);
if (xflags >= 0) fcntl(fd, F_SETFD, xflags | FD_CLOEXEC); if (xflags >= 0) fcntl(fd, F_SETFD, xflags | FD_CLOEXEC);
} }
#endif #endif
#if defined(O_NONBLOCK) #if defined(O_NONBLOCK)
/*if (oflags & O_NONBLOCK) /*if (oflags & O_NONBLOCK)
{ {
xflags = fcntl(fd, F_GETFL); xflags = fcntl(fd, F_GETFL);
@ -959,7 +958,7 @@ static int fnc_dup (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
/* dup2 or dup3 closes the descriptor sys_node2_.ctx.u.file.fd implicitly /* dup2 or dup3 closes the descriptor sys_node2_.ctx.u.file.fd implicitly
* if it's registered in muxtipler, unregister it as well */ * if it's registered in muxtipler, unregister it as well */
del_from_mux (rtx, sys_node2); del_from_mux (rtx, sys_node2);
sys_node2->ctx.u.file.fd = fd; sys_node2->ctx.u.file.fd = fd;
sys_node2->ctx.type = sys_node->ctx.type; sys_node2->ctx.type = sys_node->ctx.type;
rx = sys_node2->id; rx = sys_node2->id;
} }
@ -976,12 +975,12 @@ static int fnc_dup (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
sys_node_t* new_node; sys_node_t* new_node;
new_node = new_sys_node_fd(rtx, sys_list, fd); new_node = new_sys_node_fd(rtx, sys_list, fd);
if (new_node) if (new_node)
{ {
new_node->ctx.type = sys_node->ctx.type; new_node->ctx.type = sys_node->ctx.type;
rx = new_node->id; rx = new_node->id;
} }
else else
{ {
close (fd); close (fd);
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
@ -1027,7 +1026,7 @@ static int fnc_fcntl (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
case F_GETFL: case F_GETFL:
{ {
rx = fcntl(sys_node->ctx.u.file.fd, cmd, 0); rx = fcntl(sys_node->ctx.u.file.fd, cmd, 0);
if (rx <= -1) if (rx <= -1)
{ {
set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL); set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL);
goto done; goto done;
@ -1041,7 +1040,7 @@ static int fnc_fcntl (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
hawk_int_t v = 0; hawk_int_t v = 0;
if (hawk_rtx_getnargs(rtx) >= 3 && hawk_rtx_valtoint(rtx, hawk_rtx_getarg(rtx, 2), &v) <= -1) goto fail; if (hawk_rtx_getnargs(rtx) >= 3 && hawk_rtx_valtoint(rtx, hawk_rtx_getarg(rtx, 2), &v) <= -1) goto fail;
rx = fcntl(sys_node->ctx.u.file.fd, cmd, v); rx = fcntl(sys_node->ctx.u.file.fd, cmd, v);
if (rx <= -1) if (rx <= -1)
{ {
set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL); set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL);
goto done; goto done;
@ -1117,7 +1116,7 @@ static int fnc_flock (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
fl.l_len = len; fl.l_len = len;
rx = fcntl(sys_node->ctx.u.file.fd, (get? F_GETLK: (wait? F_SETLKW: F_SETLK)), &fl); rx = fcntl(sys_node->ctx.u.file.fd, (get? F_GETLK: (wait? F_SETLKW: F_SETLK)), &fl);
if (rx <= -1) if (rx <= -1)
{ {
set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL); set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL);
goto done; goto done;
@ -1169,7 +1168,7 @@ static int fnc_fseek (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi) /* this is act
} }
rx = lseek(sys_node->ctx.u.file.fd, offset, whence); rx = lseek(sys_node->ctx.u.file.fd, offset, whence);
if (rx <= -1) if (rx <= -1)
{ {
set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL); set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL);
goto done; goto done;
@ -1185,11 +1184,11 @@ done:
} }
/* /*
BEGIN { BEGIN {
if (sys::tcgetattr(sys::openfd(1), a) <= -1) print sys::errmsg(); if (sys::tcgetattr(sys::openfd(1), a) <= -1) print sys::errmsg();
for (i in a) print i, a[i]; for (i in a) print i, a[i];
} }
*/ */
static int fnc_tcgetattr (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi) /* this is actually lseek */ static int fnc_tcgetattr (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi) /* this is actually lseek */
{ {
@ -1209,12 +1208,12 @@ static int fnc_tcgetattr (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi) /* this is
int x; int x;
rx = tcgetattr(sys_node->ctx.u.file.fd, &t); rx = tcgetattr(sys_node->ctx.u.file.fd, &t);
if (rx <= -1) if (rx <= -1)
{ {
set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL); set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL);
goto done; goto done;
} }
/* make a map value containg configuration */ /* make a map value containg configuration */
HAWK_MEMSET (md, 0, HAWK_SIZEOF(md)); HAWK_MEMSET (md, 0, HAWK_SIZEOF(md));
@ -1255,7 +1254,7 @@ static int fnc_tcgetattr (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi) /* this is
hawk_rtx_refupval (rtx, tmp); hawk_rtx_refupval (rtx, tmp);
x = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 1), tmp); x = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 1), tmp);
hawk_rtx_refdownval (rtx, tmp); hawk_rtx_refdownval (rtx, tmp);
if (x <= -1) if (x <= -1)
{ {
fail: fail:
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
@ -1370,7 +1369,7 @@ static int fnc_tcsetattr (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi) /* this is
} }
rx = tcsetattr(sys_node->ctx.u.file.fd, action, &t); rx = tcsetattr(sys_node->ctx.u.file.fd, action, &t);
if (rx <= -1) if (rx <= -1)
{ {
fail_with_errno: fail_with_errno:
set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL); set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL);
@ -1420,7 +1419,7 @@ static int fnc_tcsetraw (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
t.c_cflag |= CS8; t.c_cflag |= CS8;
rx = tcsetattr(sys_node->ctx.u.file.fd, 0, &t); rx = tcsetattr(sys_node->ctx.u.file.fd, 0, &t);
if (rx <= -1) if (rx <= -1)
{ {
fail_with_errno: fail_with_errno:
set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL); set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL);
@ -1452,7 +1451,7 @@ static int fnc_tcflush (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
if (hawk_rtx_valtoint(rtx, hawk_rtx_getarg(rtx, 1), &qs) <= -1) qs = TCIOFLUSH; if (hawk_rtx_valtoint(rtx, hawk_rtx_getarg(rtx, 1), &qs) <= -1) qs = TCIOFLUSH;
rx = tcflush(sys_node->ctx.u.file.fd, qs); rx = tcflush(sys_node->ctx.u.file.fd, qs);
if (rx <= -1) if (rx <= -1)
{ {
set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL); set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL);
goto done; goto done;
@ -1581,7 +1580,7 @@ static int fnc_pipe (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
int xflags; int xflags;
#if defined(O_CLOEXEC) && defined(FD_CLOEXEC) #if defined(O_CLOEXEC) && defined(FD_CLOEXEC)
if (flags & O_CLOEXEC) if (flags & O_CLOEXEC)
{ {
xflags = fcntl(fds[0], F_GETFD); xflags = fcntl(fds[0], F_GETFD);
if (xflags >= 0) fcntl(fds[0], F_SETFD, xflags | FD_CLOEXEC); if (xflags >= 0) fcntl(fds[0], F_SETFD, xflags | FD_CLOEXEC);
@ -1590,7 +1589,7 @@ static int fnc_pipe (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
} }
#endif #endif
#if defined(O_NONBLOCK) #if defined(O_NONBLOCK)
if (flags & O_NONBLOCK) if (flags & O_NONBLOCK)
{ {
xflags = fcntl(fds[0], F_GETFL); xflags = fcntl(fds[0], F_GETFL);
if (xflags >= 0) fcntl(fds[0], F_SETFL, xflags | O_NONBLOCK); if (xflags >= 0) fcntl(fds[0], F_SETFL, xflags | O_NONBLOCK);
@ -1714,21 +1713,21 @@ static int fnc_fchmod (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
sys::closedir(d); sys::closedir(d);
} }
################################################# #################################################
d = sys::opendir("/tmp"); d = sys::opendir("/tmp");
if (d <= -1) print "opendir error", sys::errmsg(); if (d <= -1) print "opendir error", sys::errmsg();
for (i = 0; i < 10; i++) for (i = 0; i < 10; i++)
{ {
sys::readdir(d, a); sys::readdir(d, a);
print "[" a "]"; print "[" a "]";
} }
print "---"; print "---";
if (sys::resetdir(d, "/dev/mapper/fedora-root") <= -1) if (sys::resetdir(d, "/dev/mapper/fedora-root") <= -1)
{ {
print "reset failure:", sys::errmsg(); print "reset failure:", sys::errmsg();
} }
while (sys::readdir(d, a) > 0) print "[" a "]"; while (sys::readdir(d, a) > 0) print "[" a "]";
sys::closedir(d); sys::closedir(d);
*/ */
@ -1756,11 +1755,11 @@ static int fnc_opendir (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
if (dir) if (dir)
{ {
sys_node = new_sys_node_dir(rtx, sys_list, dir); sys_node = new_sys_node_dir(rtx, sys_list, dir);
if (sys_node) if (sys_node)
{ {
rx = sys_node->id; rx = sys_node->id;
} }
else else
{ {
hawk_dir_close(dir); hawk_dir_close(dir);
goto fail; goto fail;
@ -1861,7 +1860,7 @@ static int fnc_resetdir (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
} }
} }
/* no error check for hawk_rtx_makeintval() here since ret /* no error check for hawk_rtx_makeintval() here since ret
* is 0 or -1. it will never fail for those numbers */ * is 0 or -1. it will never fail for those numbers */
hawk_rtx_setretval (rtx, hawk_rtx_makeintval(rtx, rx)); hawk_rtx_setretval (rtx, hawk_rtx_makeintval(rtx, rx));
return 0; return 0;
@ -1909,7 +1908,7 @@ static int fnc_wait (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
nargs = hawk_rtx_getnargs(rtx); nargs = hawk_rtx_getnargs(rtx);
if (nargs >= 3 && hawk_rtx_valtoint(rtx, hawk_rtx_getarg(rtx, 2), &opts) <= -1) goto fail; if (nargs >= 3 && hawk_rtx_valtoint(rtx, hawk_rtx_getarg(rtx, 2), &opts) <= -1) goto fail;
if (hawk_rtx_valtoint(rtx, hawk_rtx_getarg(rtx, 0), &pid) <= -1) goto fail; if (hawk_rtx_valtoint(rtx, hawk_rtx_getarg(rtx, 0), &pid) <= -1) goto fail;
#if defined(_WIN32) #if defined(_WIN32)
/* TOOD: implement this*/ /* TOOD: implement this*/
rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL); rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL);
@ -1924,7 +1923,7 @@ static int fnc_wait (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
status = 0; status = 0;
#else #else
rx = waitpid(pid, &status, opts); rx = waitpid(pid, &status, opts);
if (rx <= -1) if (rx <= -1)
{ {
rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL); rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL);
} }
@ -1941,7 +1940,7 @@ static int fnc_wait (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
hawk_rtx_refupval (rtx, sv); hawk_rtx_refupval (rtx, sv);
x = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 1), sv); x = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 1), sv);
hawk_rtx_refdownval (rtx, sv); hawk_rtx_refdownval (rtx, sv);
if (x <= -1) if (x <= -1)
{ {
fail: fail:
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
@ -2215,7 +2214,7 @@ static int fnc_getppid (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
#elif defined(__OS2__) #elif defined(__OS2__)
/* TOOD: implement this*/ /* TOOD: implement this*/
rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL); rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL);
#elif defined(__DOS__) #elif defined(__DOS__)
/* TOOD: implement this*/ /* TOOD: implement this*/
rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL); rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL);
@ -2240,11 +2239,11 @@ static int fnc_getuid (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
#if defined(_WIN32) #if defined(_WIN32)
/* TOOD: implement this*/ /* TOOD: implement this*/
rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL); rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL);
#elif defined(__OS2__) #elif defined(__OS2__)
/* TOOD: implement this*/ /* TOOD: implement this*/
rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL); rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL);
#elif defined(__DOS__) #elif defined(__DOS__)
/* TOOD: implement this*/ /* TOOD: implement this*/
rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL); rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL);
@ -2298,11 +2297,11 @@ static int fnc_geteuid (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
#if defined(_WIN32) #if defined(_WIN32)
/* TOOD: implement this*/ /* TOOD: implement this*/
rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL); rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL);
#elif defined(__OS2__) #elif defined(__OS2__)
/* TOOD: implement this*/ /* TOOD: implement this*/
rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL); rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL);
#elif defined(__DOS__) #elif defined(__DOS__)
/* TOOD: implement this*/ /* TOOD: implement this*/
rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL); rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL);
@ -2327,7 +2326,7 @@ static int fnc_getegid (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
#if defined(_WIN32) #if defined(_WIN32)
/* TOOD: implement this*/ /* TOOD: implement this*/
rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL); rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL);
#elif defined(__OS2__) #elif defined(__OS2__)
/* TOOD: implement this*/ /* TOOD: implement this*/
rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL); rx = set_error_on_sys_list(rtx, sys_list, HAWK_ENOIMPL, HAWK_NULL);
@ -2556,7 +2555,7 @@ static int fnc_strftime (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
{ {
/* /*
sys::strftime("%Y-%m-%d %H:%M:%S %z", sys::gettime()); sys::strftime("%Y-%m-%d %H:%M:%S %z", sys::gettime());
sys::strftime("%Y-%m-%d %H:%M:%S %z", sys::gettime(), sys::STRFTIME_UTC); sys::strftime("%Y-%m-%d %H:%M:%S %z", sys::gettime(), sys::STRFTIME_UTC);
*/ */
@ -2565,14 +2564,14 @@ static int fnc_strftime (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
hawk_val_t* retv; hawk_val_t* retv;
fmt = hawk_rtx_valtobcstrdup(rtx, hawk_rtx_getarg(rtx, 0), &len); fmt = hawk_rtx_valtobcstrdup(rtx, hawk_rtx_getarg(rtx, 0), &len);
if (fmt) if (fmt)
{ {
hawk_ntime_t nt; hawk_ntime_t nt;
struct tm tm, * tmx; struct tm tm, * tmx;
hawk_int_t tmpsec, flags = 0; hawk_int_t tmpsec, flags = 0;
nt.nsec = 0; nt.nsec = 0;
if (hawk_rtx_valtoint(rtx, hawk_rtx_getarg(rtx, 1), &tmpsec) <= -1) if (hawk_rtx_valtoint(rtx, hawk_rtx_getarg(rtx, 1), &tmpsec) <= -1)
{ {
nt.sec = 0; nt.sec = 0;
} }
@ -2635,15 +2634,15 @@ RETURN VALUE
small.) small.)
Note that the return value 0 does not necessarily indicate an error; for example, in many locales %p yields an empty string. Note that the return value 0 does not necessarily indicate an error; for example, in many locales %p yields an empty string.
-------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------
* *
I use 'count' to limit the maximum number of retries when 0 is returned. I use 'count' to limit the maximum number of retries when 0 is returned.
*/ */
for (i = 0; i < len;) for (i = 0; i < len;)
{ {
if (fmt[i] == HAWK_BT('%')) if (fmt[i] == HAWK_BT('%'))
{ {
count++; /* the nubmer of % specifier */ count++; /* the nubmer of % specifier */
i++; i++;
@ -2658,7 +2657,7 @@ I use 'count' to limit the maximum number of retries when 0 is returned.
do do
{ {
if (count <= 0) if (count <= 0)
{ {
if (tmpptr) hawk_rtx_freemem (rtx, tmpptr); if (tmpptr) hawk_rtx_freemem (rtx, tmpptr);
tmpbuf[0] = HAWK_BT('\0'); tmpbuf[0] = HAWK_BT('\0');
@ -2669,7 +2668,7 @@ I use 'count' to limit the maximum number of retries when 0 is returned.
tmpcapa *= 2; tmpcapa *= 2;
tmp = (hawk_bch_t*)hawk_rtx_reallocmem(rtx, tmpptr, tmpcapa * HAWK_SIZEOF(*tmpptr)); tmp = (hawk_bch_t*)hawk_rtx_reallocmem(rtx, tmpptr, tmpcapa * HAWK_SIZEOF(*tmpptr));
if (!tmp) if (!tmp)
{ {
if (tmpptr) hawk_rtx_freemem (rtx, tmpptr); if (tmpptr) hawk_rtx_freemem (rtx, tmpptr);
tmpbuf[0] = HAWK_BT('\0'); tmpbuf[0] = HAWK_BT('\0');
@ -2733,7 +2732,7 @@ static int fnc_getenv (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
val = getenv(var); val = getenv(var);
hawk_rtx_freevalbcstr (rtx, a0, var); hawk_rtx_freevalbcstr (rtx, a0, var);
if (val) if (val)
{ {
hawk_val_t* tmp; hawk_val_t* tmp;
int x; int x;
@ -2852,11 +2851,11 @@ done:
/* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */
/* /*
if (sys::getnwifcfg("eth0", sys::NWIFCFG_IN6, x) >= 0) if (sys::getnwifcfg("eth0", sys::NWIFCFG_IN6, x) >= 0)
{ {
for (i in x) print i, x[i]; for (i in x) print i, x[i];
} }
else else
{ {
print "Error:", sys::errmsg(); print "Error:", sys::errmsg();
} }
@ -2889,7 +2888,7 @@ static int fnc_getifcfg (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
cfg.type = type; cfg.type = type;
if (hawk_gem_getifcfg(hawk_rtx_getgem(rtx), &cfg) <= -1) goto fail; if (hawk_gem_getifcfg(hawk_rtx_getgem(rtx), &cfg) <= -1) goto fail;
/* make a map value containg configuration */ /* make a map value containg configuration */
HAWK_MEMSET (md, 0, HAWK_SIZEOF(md)); HAWK_MEMSET (md, 0, HAWK_SIZEOF(md));
@ -2920,7 +2919,7 @@ static int fnc_getifcfg (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
md[4].key.ptr = HAWK_T("ethw"); md[4].key.ptr = HAWK_T("ethw");
md[4].key.len = 4; md[4].key.len = 4;
md[4].type = HAWK_VAL_MAP_DATA_OOCSTR; md[4].type = HAWK_VAL_MAP_DATA_OOCSTR;
hawk_rtx_fmttooocstr (rtx, ethw, HAWK_COUNTOF(ethw), HAWK_T("%02X:%02X:%02X:%02X:%02X:%02X"), hawk_rtx_fmttooocstr (rtx, ethw, HAWK_COUNTOF(ethw), HAWK_T("%02X:%02X:%02X:%02X:%02X:%02X"),
cfg.ethw[0], cfg.ethw[1], cfg.ethw[2], cfg.ethw[3], cfg.ethw[4], cfg.ethw[5]); cfg.ethw[0], cfg.ethw[1], cfg.ethw[2], cfg.ethw[3], cfg.ethw[4], cfg.ethw[5]);
md[4].vptr = ethw; md[4].vptr = ethw;
md_count = 5; md_count = 5;
@ -3439,7 +3438,7 @@ static int fnc_stat (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
rx = HAWK_STAT(str1, &stbuf); rx = HAWK_STAT(str1, &stbuf);
hawk_rtx_freevalbcstr (rtx, a0, str1); hawk_rtx_freevalbcstr (rtx, a0, str1);
if (rx <= -1) if (rx <= -1)
{ {
rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL); rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL);
goto done; goto done;
@ -3549,7 +3548,7 @@ static int fnc_stat (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
hawk_rtx_refupval (rtx, tmp); hawk_rtx_refupval (rtx, tmp);
x = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 1), tmp); x = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 1), tmp);
hawk_rtx_refdownval (rtx, tmp); hawk_rtx_refdownval (rtx, tmp);
if (x <= -1) if (x <= -1)
{ {
fail: fail:
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
@ -3664,11 +3663,11 @@ static int fnc_openmux (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
if (fd >= 0) if (fd >= 0)
{ {
sys_node = new_sys_node_mux(rtx, sys_list, fd); sys_node = new_sys_node_mux(rtx, sys_list, fd);
if (sys_node) if (sys_node)
{ {
rx = sys_node->id; rx = sys_node->id;
} }
else else
{ {
close (fd); close (fd);
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
@ -3808,7 +3807,7 @@ static HAWK_INLINE int ctl_epoll_for_fnc (hawk_rtx_t* rtx, const hawk_fnc_info_t
rx = set_error_on_sys_list(rtx, sys_list, HAWK_EINTERN, HAWK_NULL); rx = set_error_on_sys_list(rtx, sys_list, HAWK_EINTERN, HAWK_NULL);
goto done; goto done;
} }
} }
} }
} }
@ -3882,13 +3881,13 @@ static int fnc_waitonmux (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
} }
/* once this function is called, invalid the exising event data regardless of success or failure */ /* once this function is called, invalid the exising event data regardless of success or failure */
mux_data->x_evt_count = 0; mux_data->x_evt_count = 0;
if ((rx = epoll_wait(sys_node->ctx.u.mux.fd, mux_data->x_evt, mux_data->x_evt_max, HAWK_SECNSEC_TO_MSEC(tmout.sec, tmout.nsec))) <= -1) if ((rx = epoll_wait(sys_node->ctx.u.mux.fd, mux_data->x_evt, mux_data->x_evt_max, HAWK_SECNSEC_TO_MSEC(tmout.sec, tmout.nsec))) <= -1)
{ {
rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL); rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL);
} }
else else
{ {
/* 0 on timeout, >0 if a file descriptor is ready */ /* 0 on timeout, >0 if a file descriptor is ready */
mux_data->x_evt_count = rx; mux_data->x_evt_count = rx;
@ -3978,7 +3977,7 @@ static int fnc_sockaddrdom (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
addr = hawk_rtx_getvaloocstr(rtx, a0, &len); addr = hawk_rtx_getvaloocstr(rtx, a0, &len);
if (addr) if (addr)
{ {
if (hawk_gem_oocharstoskad(hawk_rtx_getgem(rtx), addr, len, &skad) <= -1) if (hawk_gem_oocharstoskad(hawk_rtx_getgem(rtx), addr, len, &skad) <= -1)
{ {
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
} }
@ -4018,7 +4017,7 @@ static int fnc_socket (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
sys_node_t* new_node; sys_node_t* new_node;
new_node = new_sys_node_fd(rtx, sys_list, fd); new_node = new_sys_node_fd(rtx, sys_list, fd);
if (!new_node) if (!new_node)
{ {
close (fd); close (fd);
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
@ -4054,12 +4053,12 @@ static int fnc_connect (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
hawk_ooch_t* addr; hawk_ooch_t* addr;
hawk_oow_t len; hawk_oow_t len;
hawk_skad_t skad; hawk_skad_t skad;
a1 = hawk_rtx_getarg(rtx, 1); a1 = hawk_rtx_getarg(rtx, 1);
addr = hawk_rtx_getvaloocstr(rtx, a1, &len); addr = hawk_rtx_getvaloocstr(rtx, a1, &len);
if (addr) if (addr)
{ {
if (hawk_gem_oocharstoskad(hawk_rtx_getgem(rtx), addr, len, &skad) <= -1) if (hawk_gem_oocharstoskad(hawk_rtx_getgem(rtx), addr, len, &skad) <= -1)
{ {
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
hawk_rtx_freevaloocstr (rtx, a1, addr); hawk_rtx_freevaloocstr (rtx, a1, addr);
@ -4068,7 +4067,7 @@ static int fnc_connect (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
hawk_rtx_freevaloocstr (rtx, a1, addr); hawk_rtx_freevaloocstr (rtx, a1, addr);
rx = connect(sys_node->ctx.u.file.fd, (struct sockaddr*)&skad, hawk_skad_get_size(&skad)); rx = connect(sys_node->ctx.u.file.fd, (struct sockaddr*)&skad, hawk_skad_get_size(&skad));
if (rx <= -1) if (rx <= -1)
{ {
rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL); rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL);
goto done; goto done;
@ -4119,7 +4118,7 @@ static int fnc_recvfrom (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
addrlen = HAWK_SIZEOF(skad); addrlen = HAWK_SIZEOF(skad);
rx = recvfrom(sys_node->ctx.u.file.fd, sys_list->ctx.readbuf, reqsize, 0, (struct sockaddr*)&skad, &addrlen); rx = recvfrom(sys_node->ctx.u.file.fd, sys_list->ctx.readbuf, reqsize, 0, (struct sockaddr*)&skad, &addrlen);
if (rx <= 0) if (rx <= 0)
{ {
if (rx <= -1) rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_T("unable to read")); if (rx <= -1) rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_T("unable to read"));
goto done; goto done;
@ -4135,7 +4134,7 @@ static int fnc_recvfrom (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
sys_list->ctx.readbuf_len = 0; sys_list->ctx.readbuf_len = 0;
sv = hawk_rtx_makembsvalwithbchars(rtx, sys_list->ctx.readbuf, rx); sv = hawk_rtx_makembsvalwithbchars(rtx, sys_list->ctx.readbuf, rx);
if (!sv) if (!sv)
{ {
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
goto done; goto done;
@ -4144,7 +4143,7 @@ static int fnc_recvfrom (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
hawk_rtx_refupval (rtx, sv); hawk_rtx_refupval (rtx, sv);
x = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 1), sv); x = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 1), sv);
hawk_rtx_refdownval (rtx, sv); hawk_rtx_refdownval (rtx, sv);
if (x <= -1) if (x <= -1)
{ {
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
goto done; goto done;
@ -4163,7 +4162,7 @@ static int fnc_recvfrom (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
hawk_rtx_refupval (rtx, sv); hawk_rtx_refupval (rtx, sv);
x = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 3), sv); x = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 3), sv);
hawk_rtx_refdownval (rtx, sv); hawk_rtx_refdownval (rtx, sv);
if (x <= -1) if (x <= -1)
{ {
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
goto done; goto done;
@ -4185,7 +4184,7 @@ static int fnc_sendto (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
sys_node_t* sys_node; sys_node_t* sys_node;
hawk_int_t rx; hawk_int_t rx;
hawk_val_t* retv; hawk_val_t* retv;
hawk_skad_t skad; hawk_skad_t skad;
struct sockaddr* sa = HAWK_NULL; struct sockaddr* sa = HAWK_NULL;
hawk_oow_t salen = 0; hawk_oow_t salen = 0;
@ -4203,7 +4202,7 @@ static int fnc_sendto (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
hawk_val_t* a2; hawk_val_t* a2;
hawk_ooch_t* addr; hawk_ooch_t* addr;
hawk_oow_t len; hawk_oow_t len;
a2 = hawk_rtx_getarg(rtx, 2); a2 = hawk_rtx_getarg(rtx, 2);
addr = hawk_rtx_getvaloocstr(rtx, a2, &len); addr = hawk_rtx_getvaloocstr(rtx, a2, &len);
if (!addr) if (!addr)
@ -4211,15 +4210,15 @@ static int fnc_sendto (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
goto done; goto done;
} }
if (hawk_gem_oocharstoskad(hawk_rtx_getgem(rtx), addr, len, &skad) <= -1) if (hawk_gem_oocharstoskad(hawk_rtx_getgem(rtx), addr, len, &skad) <= -1)
{ {
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
hawk_rtx_freevaloocstr (rtx, a2, addr); hawk_rtx_freevaloocstr (rtx, a2, addr);
goto done; goto done;
} }
hawk_rtx_freevaloocstr (rtx, a2, addr); hawk_rtx_freevaloocstr (rtx, a2, addr);
sa = (struct sockaddr*)&skad; sa = (struct sockaddr*)&skad;
salen = hawk_skad_get_size(&skad); salen = hawk_skad_get_size(&skad);
} }
@ -4227,7 +4226,7 @@ static int fnc_sendto (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
a1 = hawk_rtx_getarg(rtx, 1); a1 = hawk_rtx_getarg(rtx, 1);
dptr = hawk_rtx_getvalbcstr(rtx, a1, &dlen); dptr = hawk_rtx_getvalbcstr(rtx, a1, &dlen);
if (dptr) if (dptr)
{ {
rx = sendto(sys_node->ctx.u.file.fd, dptr, dlen, 0, sa, salen); rx = sendto(sys_node->ctx.u.file.fd, dptr, dlen, 0, sa, salen);
if (rx <= -1) rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL); if (rx <= -1) rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL);
hawk_rtx_freevalbcstr (rtx, a1, dptr); hawk_rtx_freevalbcstr (rtx, a1, dptr);
@ -4291,8 +4290,8 @@ static int fnc_bind (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
goto done; goto done;
} }
if (hawk_gem_oocharstoskad(hawk_rtx_getgem(rtx), addr, len, &skad) <= -1) if (hawk_gem_oocharstoskad(hawk_rtx_getgem(rtx), addr, len, &skad) <= -1)
{ {
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
hawk_rtx_freevaloocstr (rtx, a1, addr); hawk_rtx_freevaloocstr (rtx, a1, addr);
@ -4356,7 +4355,7 @@ static int fnc_accept (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
#else #else
fd = accept(sys_node->ctx.u.file.fd, (struct sockaddr*)&skad, &addrlen); fd = accept(sys_node->ctx.u.file.fd, (struct sockaddr*)&skad, &addrlen);
#endif #endif
if (fd <= -1) if (fd <= -1)
{ {
rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL); rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_NULL);
goto done; goto done;
@ -4394,7 +4393,7 @@ static int fnc_accept (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
hawk_rtx_refupval (rtx, sv); hawk_rtx_refupval (rtx, sv);
x = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 2), sv); x = hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, 2), sv);
hawk_rtx_refdownval (rtx, sv); hawk_rtx_refdownval (rtx, sv);
if (x <= -1) if (x <= -1)
{ {
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
goto done; goto done;
@ -4402,7 +4401,7 @@ static int fnc_accept (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
} }
new_node = new_sys_node_fd(rtx, sys_list, fd); new_node = new_sys_node_fd(rtx, sys_list, fd);
if (!new_node) if (!new_node)
{ {
close (fd); close (fd);
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
@ -4497,7 +4496,7 @@ done:
/* /*
sys::openlog("remote://192.168.1.23:1234/test", sys::LOG_OPT_PID | sys::LOG_OPT_NDELAY, sys::LOG_FAC_LOCAL0); sys::openlog("remote://192.168.1.23:1234/test", sys::LOG_OPT_PID | sys::LOG_OPT_NDELAY, sys::LOG_FAC_LOCAL0);
for (i = 0; i < 10; i++) sys::writelog(sys::LOG_PRI_DEBUG, "hello world " i); for (i = 0; i < 10; i++) sys::writelog(sys::LOG_PRI_DEBUG, "hello world " i);
sys::closelog(); sys::closelog();
local://xxx opens the local syslog using the openlog() call in the libc library. local://xxx opens the local syslog using the openlog() call in the libc library.
openlog() affects the entire process. openlog() affects the entire process.
@ -4519,7 +4518,7 @@ static void open_remote_log_socket (hawk_rtx_t* rtx, rtx_data_t* rdp)
type |= SOCK_CLOEXEC; type |= SOCK_CLOEXEC;
open_socket: open_socket:
#endif #endif
sck = socket(domain, type, 0); sck = socket(domain, type, 0);
if (sck <= -1) if (sck <= -1)
{ {
#if defined(SOCK_NONBLOCK) && defined(SOCK_CLOEXEC) #if defined(SOCK_NONBLOCK) && defined(SOCK_CLOEXEC)
@ -4565,7 +4564,7 @@ static int fnc_openlog (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
sys_list_t* sys_list = rtx_to_sys_list(rtx, fi); sys_list_t* sys_list = rtx_to_sys_list(rtx, fi);
ident = hawk_rtx_getvaloocstr(rtx, hawk_rtx_getarg(rtx, 0), &ident_len); ident = hawk_rtx_getvaloocstr(rtx, hawk_rtx_getarg(rtx, 0), &ident_len);
if (!ident) if (!ident)
{ {
fail: fail:
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
@ -4574,7 +4573,7 @@ static int fnc_openlog (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
/* the target name contains a null character. /* the target name contains a null character.
* make system return -1 */ * make system return -1 */
if (hawk_find_oochar_in_oochars(ident, ident_len, '\0')) if (hawk_find_oochar_in_oochars(ident, ident_len, '\0'))
{ {
rx = set_error_on_sys_list(rtx, sys_list, HAWK_EINVAL, HAWK_T("invalid identifier of length %zu containing '\\0'"), ident_len); rx = set_error_on_sys_list(rtx, sys_list, HAWK_EINVAL, HAWK_T("invalid identifier of length %zu containing '\\0'"), ident_len);
goto done; goto done;
@ -4591,13 +4590,13 @@ static int fnc_openlog (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
log_type = SYSLOG_REMOTE; log_type = SYSLOG_REMOTE;
actual_ident = ident + 9; actual_ident = ident + 9;
actual_ident_len = ident_len - 9; actual_ident_len = ident_len - 9;
slash = hawk_rfind_oochar_in_oochars(actual_ident, actual_ident_len, '/'); slash = hawk_rfind_oochar_in_oochars(actual_ident, actual_ident_len, '/'); // fine the last slash
if (!slash) if (!slash)
{ {
rx = set_error_on_sys_list(rtx, sys_list, HAWK_EINVAL, HAWK_T("invalid identifier '%js' with remote address"), ident); rx = set_error_on_sys_list(rtx, sys_list, HAWK_EINVAL, HAWK_T("invalid identifier '%js' with remote address"), ident);
goto done; goto done;
} }
if (hawk_gem_oocharstoskad(hawk_rtx_getgem(rtx), actual_ident, slash - actual_ident, &skad) <= -1) if (hawk_gem_oocharstoskad(hawk_rtx_getgem(rtx), actual_ident, slash - actual_ident, &skad) <= -1)
{ {
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
goto done; goto done;
@ -4608,12 +4607,6 @@ static int fnc_openlog (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
{ {
/* local://syslog-identifier */ /* local://syslog-identifier */
actual_ident = ident + 8; actual_ident = ident + 8;
}
else if (hawk_comp_oocstr_limited(ident, HAWK_T("devlog://"), 9, 0) == 0)
{
/* devlog://syslog-identifier */
actual_ident = ident + 9;
log_type = SYSLOG_DEVLOG;
} }
else else
{ {
@ -4625,7 +4618,7 @@ static int fnc_openlog (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
#else #else
mbs_ident = hawk_rtx_duputobcstr(rtx, actual_ident, HAWK_NULL); mbs_ident = hawk_rtx_duputobcstr(rtx, actual_ident, HAWK_NULL);
#endif #endif
if (!mbs_ident) if (!mbs_ident)
{ {
rx = copy_error_to_sys_list(rtx, sys_list); rx = copy_error_to_sys_list(rtx, sys_list);
goto done; goto done;
@ -4686,7 +4679,7 @@ static int fnc_closelog (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
case SYSLOG_LOCAL: case SYSLOG_LOCAL:
#if defined(ENABLE_SYSLOG) #if defined(ENABLE_SYSLOG)
closelog (); closelog ();
/* closelog() might be called without openlog(). so there is no /* closelog() might be called without openlog(). so there is no
* check if syslog_opened is true. * check if syslog_opened is true.
* it is just used as an indicator to decide wheter closelog() * it is just used as an indicator to decide wheter closelog()
* should be called upon module finalization(fini). */ * should be called upon module finalization(fini). */
@ -4750,7 +4743,7 @@ static int fnc_writelog (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
msg = hawk_rtx_getvaloocstr(rtx, hawk_rtx_getarg(rtx, 1), &msglen); msg = hawk_rtx_getvaloocstr(rtx, hawk_rtx_getarg(rtx, 1), &msglen);
if (!msg) goto fail; if (!msg) goto fail;
if (hawk_find_oochar_in_oochars(msg, msglen, '\0')) if (hawk_find_oochar_in_oochars(msg, msglen, '\0'))
{ {
rx = set_error_on_sys_list(rtx, sys_list, HAWK_EINVAL, HAWK_NULL); rx = set_error_on_sys_list(rtx, sys_list, HAWK_EINVAL, HAWK_NULL);
goto done; goto done;
@ -4792,7 +4785,7 @@ static int fnc_writelog (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
struct tm tm, * tmx; struct tm tm, * tmx;
time_t t; time_t t;
if (!rdp->log.dmsgbuf) if (!rdp->log.dmsgbuf)
{ {
rdp->log.dmsgbuf = hawk_becs_open(hawk_rtx_getgem(rtx), 0, 0); rdp->log.dmsgbuf = hawk_becs_open(hawk_rtx_getgem(rtx), 0, 0);
if (!rdp->log.dmsgbuf) goto fail; if (!rdp->log.dmsgbuf) goto fail;
@ -4810,16 +4803,16 @@ static int fnc_writelog (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
#else #else
tmx = localtime(&t); tmx = localtime(&t);
#endif #endif
if (!tmx) if (!tmx)
{ {
rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_T("unable to get local time")); rx = set_error_on_sys_list_with_errno(rtx, sys_list, HAWK_T("unable to get local time"));
goto done; goto done;
} }
if (hawk_becs_fmt( if (hawk_becs_fmt(
rdp->log.dmsgbuf, HAWK_BT("<%d>%hs %02d %02d:%02d:%02d "), rdp->log.dmsgbuf, HAWK_BT("<%d>%hs %02d %02d:%02d:%02d "),
(int)(rdp->log.fac | pri), (int)(rdp->log.fac | pri),
__syslog_month_names[tmx->tm_mon], tmx->tm_mday, __syslog_month_names[tmx->tm_mon], tmx->tm_mday,
tmx->tm_hour, tmx->tm_min, tmx->tm_sec) == (hawk_oow_t)-1) goto fail; tmx->tm_hour, tmx->tm_min, tmx->tm_sec) == (hawk_oow_t)-1) goto fail;
if (rdp->log.ident || (rdp->log.opt & LOG_PID)) if (rdp->log.ident || (rdp->log.opt & LOG_PID))
@ -4902,8 +4895,8 @@ n qse_intptr_t
N qse_uintptr_t N qse_uintptr_t
f qse_flt_t (32 bits) f qse_flt_t (32 bits)
d qse_flt_t (64 bits) d qse_flt_t (64 bits)
s char[] s char[]
p char[] p char[]
x pad bytes x pad bytes
*/ */
@ -5049,9 +5042,9 @@ static hawk_int_t pack_data (hawk_rtx_t* rtx, const hawk_oocs_t* fmt, const hawk
rep_set = 0; rep_set = 0;
fmte = fmt->ptr + fmt->len; fmte = fmt->ptr + fmt->len;
for (fmtp = fmt->ptr; fmtp < fmte; fmtp++) for (fmtp = fmt->ptr; fmtp < fmte; fmtp++)
{ {
switch (*fmtp) switch (*fmtp)
{ {
#if 0 #if 0
case '@': /* native size, native alignment */ case '@': /* native size, native alignment */
@ -5307,14 +5300,14 @@ static hawk_int_t pack_data (hawk_rtx_t* rtx, const hawk_oocs_t* fmt, const hawk
default: default:
if (hawk_is_ooch_digit(*fmtp)) if (hawk_is_ooch_digit(*fmtp))
{ {
if (!rep_set) if (!rep_set)
{ {
rep_cnt = 0; rep_cnt = 0;
rep_set = 1; rep_set = 1;
} }
rep_cnt = rep_cnt * 10 + (*fmtp - '0'); rep_cnt = rep_cnt * 10 + (*fmtp - '0');
} }
else if (!hawk_is_ooch_space(*fmtp)) else if (!hawk_is_ooch_space(*fmtp))
{ {
return set_error_on_sys_list (rtx, &rdp->sys_list, HAWK_EINVAL, HAWK_T("invalid specifier - %jc"), *fmtp); return set_error_on_sys_list (rtx, &rdp->sys_list, HAWK_EINVAL, HAWK_T("invalid specifier - %jc"), *fmtp);
} }
@ -5488,7 +5481,7 @@ static hawk_int_t unpack_data (hawk_rtx_t* rtx, const hawk_bcs_t* bin, const haw
binp = (hawk_uint8_t*)bin->ptr; binp = (hawk_uint8_t*)bin->ptr;
bine = (hawk_uint8_t*)bin->ptr + bin->len; bine = (hawk_uint8_t*)bin->ptr + bin->len;
fmte = fmt->ptr + fmt->len; fmte = fmt->ptr + fmt->len;
for (fmtp = fmt->ptr; fmtp < fmte; fmtp++) for (fmtp = fmt->ptr; fmtp < fmte; fmtp++)
{ {
switch (*fmtp) switch (*fmtp)
{ {
@ -5539,7 +5532,7 @@ static hawk_int_t unpack_data (hawk_rtx_t* rtx, const hawk_bcs_t* bin, const haw
UNPACK_CHECK_ARG_AND_DATA (rep_cnt, rep_cnt * HAWK_SIZEOF(hawk_int16_t)); UNPACK_CHECK_ARG_AND_DATA (rep_cnt, rep_cnt * HAWK_SIZEOF(hawk_int16_t));
for (rc = 0; rc < rep_cnt; rc++) for (rc = 0; rc < rep_cnt; rc++)
{ {
v = hawk_rtx_makeintval(rtx, unpack_int16(binp, endian)); v = hawk_rtx_makeintval(rtx, unpack_int16(binp, endian));
binp += HAWK_SIZEOF(hawk_int16_t); binp += HAWK_SIZEOF(hawk_int16_t);
if (HAWK_UNLIKELY(!v)) goto oops_internal; if (HAWK_UNLIKELY(!v)) goto oops_internal;
if (hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, arg_idx++), v) <= -1) goto oops_internal; if (hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, arg_idx++), v) <= -1) goto oops_internal;
@ -5565,7 +5558,7 @@ static hawk_int_t unpack_data (hawk_rtx_t* rtx, const hawk_bcs_t* bin, const haw
UNPACK_CHECK_ARG_AND_DATA (rep_cnt, rep_cnt * HAWK_SIZEOF(hawk_int32_t)); UNPACK_CHECK_ARG_AND_DATA (rep_cnt, rep_cnt * HAWK_SIZEOF(hawk_int32_t));
for (rc = 0; rc < rep_cnt; rc++) for (rc = 0; rc < rep_cnt; rc++)
{ {
v = hawk_rtx_makeintval(rtx, unpack_int32(binp, endian)); v = hawk_rtx_makeintval(rtx, unpack_int32(binp, endian));
binp += HAWK_SIZEOF(hawk_int32_t); binp += HAWK_SIZEOF(hawk_int32_t);
if (HAWK_UNLIKELY(!v)) goto oops_internal; if (HAWK_UNLIKELY(!v)) goto oops_internal;
if (hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, arg_idx++), v) <= -1) goto oops_internal; if (hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, arg_idx++), v) <= -1) goto oops_internal;
@ -5591,7 +5584,7 @@ static hawk_int_t unpack_data (hawk_rtx_t* rtx, const hawk_bcs_t* bin, const haw
UNPACK_CHECK_ARG_AND_DATA (rep_cnt, rep_cnt * HAWK_SIZEOF(hawk_int64_t)); UNPACK_CHECK_ARG_AND_DATA (rep_cnt, rep_cnt * HAWK_SIZEOF(hawk_int64_t));
for (rc = 0; rc < rep_cnt; rc++) for (rc = 0; rc < rep_cnt; rc++)
{ {
v = hawk_rtx_makeintval(rtx, unpack_int64(binp, endian)); v = hawk_rtx_makeintval(rtx, unpack_int64(binp, endian));
binp += HAWK_SIZEOF(hawk_int64_t); binp += HAWK_SIZEOF(hawk_int64_t);
if (HAWK_UNLIKELY(!v)) goto oops_internal; if (HAWK_UNLIKELY(!v)) goto oops_internal;
if (hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, arg_idx++), v) <= -1) goto oops_internal; if (hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, arg_idx++), v) <= -1) goto oops_internal;
@ -5617,7 +5610,7 @@ static hawk_int_t unpack_data (hawk_rtx_t* rtx, const hawk_bcs_t* bin, const haw
UNPACK_CHECK_ARG_AND_DATA (rep_cnt, rep_cnt * HAWK_SIZEOF(hawk_intmax_t)); UNPACK_CHECK_ARG_AND_DATA (rep_cnt, rep_cnt * HAWK_SIZEOF(hawk_intmax_t));
for (rc = 0; rc < rep_cnt; rc++) for (rc = 0; rc < rep_cnt; rc++)
{ {
v = hawk_rtx_makeintval(rtx, unpack_intmax(binp, endian)); v = hawk_rtx_makeintval(rtx, unpack_intmax(binp, endian));
binp += HAWK_SIZEOF(hawk_intmax_t); binp += HAWK_SIZEOF(hawk_intmax_t);
if (HAWK_UNLIKELY(!v)) goto oops_internal; if (HAWK_UNLIKELY(!v)) goto oops_internal;
if (hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, arg_idx++), v) <= -1) goto oops_internal; if (hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, arg_idx++), v) <= -1) goto oops_internal;
@ -5643,7 +5636,7 @@ static hawk_int_t unpack_data (hawk_rtx_t* rtx, const hawk_bcs_t* bin, const haw
UNPACK_CHECK_ARG_AND_DATA (rep_cnt, rep_cnt * HAWK_SIZEOF(hawk_intptr_t)); UNPACK_CHECK_ARG_AND_DATA (rep_cnt, rep_cnt * HAWK_SIZEOF(hawk_intptr_t));
for (rc = 0; rc < rep_cnt; rc++) for (rc = 0; rc < rep_cnt; rc++)
{ {
v = hawk_rtx_makeintval(rtx, unpack_intptr(binp, endian)); v = hawk_rtx_makeintval(rtx, unpack_intptr(binp, endian));
binp += HAWK_SIZEOF(hawk_intptr_t); binp += HAWK_SIZEOF(hawk_intptr_t);
if (HAWK_UNLIKELY(!v)) goto oops_internal; if (HAWK_UNLIKELY(!v)) goto oops_internal;
if (hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, arg_idx++), v) <= -1) goto oops_internal; if (hawk_rtx_setrefval(rtx, (hawk_val_ref_t*)hawk_rtx_getarg(rtx, arg_idx++), v) <= -1) goto oops_internal;
@ -5724,14 +5717,14 @@ static hawk_int_t unpack_data (hawk_rtx_t* rtx, const hawk_bcs_t* bin, const haw
default: default:
if (hawk_is_ooch_digit(*fmtp)) if (hawk_is_ooch_digit(*fmtp))
{ {
if (!rep_set) if (!rep_set)
{ {
rep_cnt = 0; rep_cnt = 0;
rep_set = 1; rep_set = 1;
} }
rep_cnt = rep_cnt * 10 + (*fmtp - '0'); rep_cnt = rep_cnt * 10 + (*fmtp - '0');
} }
else if (!hawk_is_ooch_space(*fmtp)) else if (!hawk_is_ooch_space(*fmtp))
{ {
return set_error_on_sys_list (rtx, &rdp->sys_list, HAWK_EINVAL, HAWK_T("invalid specifier - %jc"), *fmtp); return set_error_on_sys_list (rtx, &rdp->sys_list, HAWK_EINVAL, HAWK_T("invalid specifier - %jc"), *fmtp);
} }
@ -5753,7 +5746,7 @@ oops_internal:
/* /*
sys::pack(bin, "i 5s h", 10, "hello", -20); sys::pack(bin, "i 5s h", 10, "hello", -20);
printf ("%W\n", bin); printf ("%W\n", bin);
*/ */
static int fnc_pack (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi) static int fnc_pack (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
{ {
@ -5793,7 +5786,7 @@ static int fnc_pack (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
return 0; return 0;
} }
/* sys::unpack(@b"\x00\x11\x12\x13\x14\x15", "h h h", a, b, c); /* sys::unpack(@b"\x00\x11\x12\x13\x14\x15", "h h h", a, b, c);
* print a, b, c; * print a, b, c;
*/ */
static int fnc_unpack (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi) static int fnc_unpack (hawk_rtx_t* rtx, const hawk_fnc_info_t* fi)
@ -6117,7 +6110,7 @@ static hawk_mod_int_tab_t inttab[] =
{ HAWK_T("SIZEOF_INT"), { HAWK_SIZEOF_INT_T } }, { HAWK_T("SIZEOF_INT"), { HAWK_SIZEOF_INT_T } },
{ HAWK_T("SIZEOF_INTMAX"), { HAWK_SIZEOF_INTMAX_T } }, { HAWK_T("SIZEOF_INTMAX"), { HAWK_SIZEOF_INTMAX_T } },
{ HAWK_T("SIZEOF_INTPTR"), { HAWK_SIZEOF_INTPTR_T } }, { HAWK_T("SIZEOF_INTPTR"), { HAWK_SIZEOF_INTPTR_T } },
{ HAWK_T("SOCK_CLOEXEC"), { X_SOCK_CLOEXEC } }, { HAWK_T("SOCK_CLOEXEC"), { X_SOCK_CLOEXEC } },
{ HAWK_T("SOCK_DGRAM"), { SOCK_DGRAM } }, { HAWK_T("SOCK_DGRAM"), { SOCK_DGRAM } },
@ -6209,7 +6202,7 @@ static hawk_mod_int_tab_t inttab[] =
{ HAWK_T("TC_IFLAG_ICRNL"), { ICRNL } }, { HAWK_T("TC_IFLAG_ICRNL"), { ICRNL } },
{ HAWK_T("TC_IFLAG_IGNBRK"), { IGNBRK } }, { HAWK_T("TC_IFLAG_IGNBRK"), { IGNBRK } },
{ HAWK_T("TC_IFLAG_IGNCR"), { IGNCR } }, { HAWK_T("TC_IFLAG_IGNCR"), { IGNCR } },
{ HAWK_T("TC_IFLAG_IGNPAR"), { IGNPAR } }, { HAWK_T("TC_IFLAG_IGNPAR"), { IGNPAR } },
#if defined(IMAXBEL) #if defined(IMAXBEL)
{ HAWK_T("TC_IFLAG_IMAXBEL"),{ IMAXBEL } }, { HAWK_T("TC_IFLAG_IMAXBEL"),{ IMAXBEL } },
#endif #endif
@ -6227,14 +6220,14 @@ static hawk_mod_int_tab_t inttab[] =
{ HAWK_T("TC_IOFLUSH"), { TCIOFLUSH } }, { HAWK_T("TC_IOFLUSH"), { TCIOFLUSH } },
{ HAWK_T("TC_OFLUSH"), { TCOFLUSH } }, { HAWK_T("TC_OFLUSH"), { TCOFLUSH } },
{ HAWK_T("TC_LFLAG_ECHO"), { ECHO } }, { HAWK_T("TC_LFLAG_ECHO"), { ECHO } },
{ HAWK_T("TC_LFLAG_ECHOE"), { ECHOE } }, { HAWK_T("TC_LFLAG_ECHOE"), { ECHOE } },
{ HAWK_T("TC_LFLAG_ECHOK"), { ECHOK } }, { HAWK_T("TC_LFLAG_ECHOK"), { ECHOK } },
{ HAWK_T("TC_LFLAG_ECHONL"), { ECHONL } }, { HAWK_T("TC_LFLAG_ECHONL"), { ECHONL } },
{ HAWK_T("TC_LFLAG_ICANON"), { ICANON } }, { HAWK_T("TC_LFLAG_ICANON"), { ICANON } },
{ HAWK_T("TC_LFLAG_ISIG"), { ISIG } }, { HAWK_T("TC_LFLAG_ISIG"), { ISIG } },
{ HAWK_T("TC_LFLAG_NOFLSH"), { NOFLSH } }, { HAWK_T("TC_LFLAG_NOFLSH"), { NOFLSH } },
{ HAWK_T("TC_LFLAG_TOSTOP"), { TOSTOP } }, { HAWK_T("TC_LFLAG_TOSTOP"), { TOSTOP } },
{ HAWK_T("TC_OFLAG_OCRNL"), { OCRNL } }, { HAWK_T("TC_OFLAG_OCRNL"), { OCRNL } },
{ HAWK_T("TC_OFLAG_ONLCR"), { ONLCR } }, { HAWK_T("TC_OFLAG_ONLCR"), { ONLCR } },
@ -6244,9 +6237,9 @@ static hawk_mod_int_tab_t inttab[] =
{ HAWK_T("TC_OFLAG_OPOST"), { OPOST } }, { HAWK_T("TC_OFLAG_OPOST"), { OPOST } },
{ HAWK_T("TC_OFLAG_OXTABS"), { X_OXTABS } }, { HAWK_T("TC_OFLAG_OXTABS"), { X_OXTABS } },
{ HAWK_T("TC_SADRAIN"), { TCSADRAIN } }, { HAWK_T("TC_SADRAIN"), { TCSADRAIN } },
{ HAWK_T("TC_SAFLUSH"), { TCSAFLUSH } }, { HAWK_T("TC_SAFLUSH"), { TCSAFLUSH } },
{ HAWK_T("TC_SANOW"), { TCSANOW } }, { HAWK_T("TC_SANOW"), { TCSANOW } },
{ HAWK_T("WNOHANG"), { WNOHANG } } { HAWK_T("WNOHANG"), { WNOHANG } }
}; };
@ -6286,7 +6279,7 @@ static int init (hawk_mod_t* mod, hawk_rtx_t* rtx)
static void __fini_log (hawk_rtx_t* rtx, rtx_data_t* rdp) static void __fini_log (hawk_rtx_t* rtx, rtx_data_t* rdp)
{ {
#if defined(ENABLE_SYSLOG) #if defined(ENABLE_SYSLOG)
if (rdp->log.syslog_opened) if (rdp->log.syslog_opened)
{ {
/* closelog() only if openlog() has been called explicitly. /* closelog() only if openlog() has been called explicitly.
* if you call writelog() functions without openlog() and * if you call writelog() functions without openlog() and
@ -6297,7 +6290,7 @@ static void __fini_log (hawk_rtx_t* rtx, rtx_data_t* rdp)
rdp->log.syslog_opened = 0; rdp->log.syslog_opened = 0;
} }
#endif #endif
if (rdp->log.sck >= 0) if (rdp->log.sck >= 0)
{ {
#if defined(_WIN32) #if defined(_WIN32)
@ -6314,7 +6307,7 @@ static void __fini_log (hawk_rtx_t* rtx, rtx_data_t* rdp)
rdp->log.dmsgbuf = HAWK_NULL; rdp->log.dmsgbuf = HAWK_NULL;
} }
if (rdp->log.ident) if (rdp->log.ident)
{ {
hawk_rtx_freemem (rtx, rdp->log.ident); hawk_rtx_freemem (rtx, rdp->log.ident);
rdp->log.ident = HAWK_NULL; rdp->log.ident = HAWK_NULL;
@ -6323,7 +6316,7 @@ static void __fini_log (hawk_rtx_t* rtx, rtx_data_t* rdp)
static void fini (hawk_mod_t* mod, hawk_rtx_t* rtx) static void fini (hawk_mod_t* mod, hawk_rtx_t* rtx)
{ {
/* TODO: /* TODO:
for (each pid for rtx) kill (pid, SIGKILL); for (each pid for rtx) kill (pid, SIGKILL);
for (each pid for rtx) waitpid (pid, HAWK_NULL, 0); for (each pid for rtx) waitpid (pid, HAWK_NULL, 0);
*/ */