Commit Graph

1767 Commits

Author SHA1 Message Date
12eacceec0 fixed some issues in xli/json.c 2019-06-11 16:33:26 +00:00
f95e9d36cf added the ignore_if_unhandled parameter to App::neglectsignal().
added App::logfmt() and App::logfmtv()
added QSE::TcpServerFD<F,D> and  QSE::ThreadFD<F,D>
2019-06-11 09:10:09 +00:00
9a0f2e15b8 added xli/json.c 2019-06-10 15:09:01 +00:00
d7940a7c5b enhanced the awk deparser to print @pragma stack_limit if different from the default settings.
defined QSE_AWK_MAX_DFL_STACK_LIMIT
2019-06-10 04:57:51 +00:00
e8395f98da added str::TRIM_FLAG_PAC_SPACES for str::trim() 2019-06-10 03:16:54 +00:00
ee7fcef062 fixed a bug in copying value back to pass-by-reference arguments 2019-06-09 16:17:40 +00:00
f22b4894fd fixed some issues in the awk tester 2019-06-09 16:06:03 +00:00
ad3e78f386 fixed some build directive names 2019-06-09 09:51:12 +00:00
dcb4619fec implemented @pragma stack_limit 2019-06-09 05:55:36 +00:00
ce459fe337 fixing pass-by-reference handling bugs 2019-06-08 06:53:24 +00:00
7e4cc9a7c8 more code to support call-by-reference parameters of a normal awk function 2019-06-07 16:31:16 +00:00
4255f9599f implemented call-by-reference parameters of normal awk functions partially. it has yet to be refined further 2019-06-07 09:26:50 +00:00
040ee69eb7 more touch-up 2019-06-07 05:20:20 +00:00
e8cfcfce44 simple touch-up 2019-06-07 03:19:27 +00:00
ac8bb735d9 added mysql::select_db() 2019-06-06 15:12:00 +00:00
38dc85ddf4 added qse_awk_backuperrmsg() and qse_awk_rtx_backuperrmsg().
enhanced the module loading code to emit more comprehensive error message in awk/parse.c
removed dynamic exception specification from some methods.
added mysql::affected_rows()
fixed wrong parameter handling in mysql::autocommit().
changed mysql::esacpe_string() to return the result via the second parameter
2019-06-06 12:11:40 +00:00
5ec8e15140 updated copyright notice that's been long procrastinated 2019-06-06 05:28:23 +00:00
84f5289c33 added mysql::errmsg(), mysql::escape_string(), mysql::ping(), mysql::rollbacK(), mysql::commit(), mysql::autocommit(), mysql::OPT_CONNECT_TIMEOUT, mysql::OPT_READ_TIMEOUT, mysql::OPT_RECONNECT, mysql::OPT_WRITE_TIMEOUT 2019-06-04 08:53:44 +00:00
454f5ec837 implemented mysql::store_result(), mysql::free_result(), mysql::fetch_row() roughly 2019-06-03 08:53:46 +00:00
bbdb18e9d3 more code to mod-mysql 2019-05-24 08:58:52 +00:00
aa3a219f56 some work on mod-mysql 2019-05-23 11:03:46 +00:00
560298d0d1 work in progress - awkmod-mysql 2019-05-22 11:21:57 +00:00
4a897bddf8 removed some module specific functions from the header files 2019-05-14 03:16:33 +00:00
86c1819a1d moved id-to-data mapping functions to imap-imp.h out of mod-dir.c 2019-05-13 16:35:33 +00:00
546d34d732 changed @inclone to @include_once
changed the sf_in_open() to set arg->uniqie_id in lib/awk/std.c
2019-05-13 05:22:40 +00:00
3bfaaa2bc9 added the unique_id field to qse_awk_sio_arg_t to implement the single time inclusion feature.
added primitive logic to check and remember inclusion
2019-05-12 17:03:30 +00:00
eb9413907b implemented @pragma implicit on/off in awk 2019-05-10 10:01:03 +00:00
72c27c7e48 added the pragmas field to qse_awk_sio_arg_t 2019-05-09 16:35:53 +00:00
a6267135ba removed AM_CFLAGS= $(PTHREAD_CFLAGS)" from lib/awk/Makefile.am 2019-05-09 14:08:14 +00:00
bd95bb3d2b added the fcb field to the awk value header 2019-05-09 09:35:37 +00:00
8682cc32e7 adding mod-mysql. work in progress 2019-05-09 08:29:00 +00:00
7a49f16742 moved mod/awk to lib/awkmod 2019-05-09 07:35:33 +00:00
04a1de0303 moving supplimentary awk modules to its own directory 2019-05-09 07:25:27 +00:00
f5ebc5acee fixed missing file issues in lib/awk/Makefile.am 2019-05-08 13:10:00 +00:00
3d6cf904cf updated README 2019-05-08 12:44:45 +00:00
2e19b848e5 added qse_awk_seterrfmt()/qse_awk_rtx_seterrfmt()
fixed wrong reference counting in __fnc_asort()
2019-05-08 07:15:17 +00:00
df47611d9d Added asorti() to awk 2019-05-07 14:54:29 +00:00
3737a28cd3 fixed minor assertion flaw in lib/cmn/mbwc-str.c 2019-05-07 07:39:49 +00:00
ebc9f5d29c fixed a wrong return value in __cmp_int_mbs() 2019-05-07 07:27:53 +00:00
2ac2ad8200 added qse_awk_rtx_getrefvaltype()/qse_awk_rtx_getrefval()
finished asort() in awk
added qse_sortx()
2019-05-07 07:22:55 +00:00
c3e30eaae4 renamed str::value() to str::fromcharcode() in awk.
added str::tocharcode() in awk.
enhanced qse_awk_rtx_makestrvalwithxstr() to skip copying the data from the given string pointer if it's null
2019-05-06 07:19:54 +00:00
51853507fa redefined byte swap and endian conversion routines 2019-05-03 08:39:50 +00:00
66d110fa7b wrote more code in fnc_asort() 2019-05-02 13:45:24 +00:00
006042f6cb redefined some memory allocation functions
added the ismap builtin function to awk
2019-05-02 11:29:51 +00:00
f9e5c3920d in progress of implementing asort() 2019-04-30 08:22:26 +00:00
b3d63c259b redefined qse_awk_mmgr(), qse_awk_getcmgr(), qse_setcmgr() by exposing the mmgr/cmgr fields via qse_awk_alt_t.
implemented comparison operations for the fun value.
changed behavior of some comparison operations that would otherwise result in a runtime error
2019-04-30 07:23:34 +00:00
3368c91834 have implemented the function-pointer-as-value feature experimentally 2019-04-29 09:40:13 +00:00
d64d0a73b4 added experimental code to call function held in a variable 2019-04-28 15:44:10 +00:00
abce018b2f added the builtin function isnil and replaced the backquote operator with it 2019-04-26 18:04:57 +00:00
bc3173d74a added the typename() builtin awk function and qse_awk_rtx_getvaltypename() 2019-04-26 16:55:57 +00:00
1f980cbfb8 enhanced str::index()/str::rindex() to handle byte strings 2019-04-25 17:34:04 +00:00
7811171dff fixed StdAwk to set the MODPREFIX when dlfcn is activated.
added Awk::getCmgr()
enhanced some string functions to handle byte strings
2019-04-23 15:32:23 +00:00
03301b79bf fixed a build issue for missing lchown against old macosx sdks
added Awk::writeConsoleBytes(), Awk::writePipeBytes(), Awk::writeFileBytes()
2019-04-23 08:41:05 +00:00
50eec135d8 added lchown check to configure.ac 2019-04-23 07:49:56 +00:00
588560abbb enhanced awk substr to support a byte string 2019-04-23 06:16:27 +00:00
c80f179366 fixed the bug of affecting the parameter in toupper and tolower in awk.
also enhanced them to support byte strings
2019-04-22 09:03:02 +00:00
b86ea48c86 enhanced sprintf to format a byte string when format is a byte string 2019-04-22 07:44:57 +00:00
146cc6436b Added qse_awk_rtx_formatmbs().
enhanced the builtin printf to handle the byte array format
2019-04-21 15:54:49 +00:00
eed3853765 added quite some code to handle byte string I/O 2019-04-21 05:44:53 +00:00
07be5e22d7 added quite some code for handling mbs in awk 2019-04-18 08:42:54 +00:00
f90ca01493 added qse_str_ncatwcs()/qse_str_ncatmbs() 2019-04-17 16:33:30 +00:00
f16437d7c0 writing mbs_to_str() in awk/val.c 2019-04-15 15:36:23 +00:00
711320d847 added more byte array handling code 2019-04-15 08:43:57 +00:00
81cbac9e4d added qse_awk_wcsxtoint()/qse_awk_mbsxtoint() and made qse_awk_strtointo() a macro
added qse_awk_wcsxtoflt()/qse_awk_mbsxtoflt() and made qse_awk_strxtoflt() a macro
enhanced qse_awk_rtx_valtonum() to handle a byte array
2019-04-15 04:30:49 +00:00
5e0754e607 trying to implement byte array in awk 2019-04-14 16:17:12 +00:00
1a16fd8888 updated BYTE_PRINTABLE() 2019-03-20 07:16:39 +00:00
c139017593 changed the awk parser to accept \u and \U in the MCHAR mode.
implemented k/K in the awk's builtin printf function
2019-03-20 07:06:00 +00:00
6c61e0bab6 changed awk \xNN to take up to 2 hexadigits only.
implemented w/W in formatted output
2019-03-19 13:59:22 +00:00
d680e3aebe correct function names in Sttp 2019-03-18 14:14:07 +00:00
3921c110a8 added Sttp::setErrorCode() 2019-03-18 11:15:28 +00:00
6916a11e61 touched up on the 'k' and 'K' specifier in formatted output 2019-03-17 04:11:00 +00:00
585633b26d polishing k and K in formatted output 2019-03-16 04:48:25 +00:00
e06ffadd4e added 'k' and 'K' to dump a byte string in \x hexadecimal notation 2019-03-15 13:34:07 +00:00
88b39ee0af added qse_bytetombs()/qse_bytetowcs()
implemeting %k for formatted output to hex-dump a given string
2019-03-15 08:10:13 +00:00
5cf583d8c4 removed redundant redefintion of qse_fattr_t
changed to call qse_wcstombs() instead of qse_wcstombsall() which doesn't exist
2019-03-14 16:14:43 +00:00
2ff8ee7c27 changed the default cmgr to utf8
added qse_get_prog_mbspath_with_mmgr()/qse_get_prog_wcspath_with_mmgr()
filled Path::setToSelf().
2019-03-14 08:01:04 +00:00
c794863aa6 added more file management functions 2019-03-14 01:23:44 +00:00
10b1eabe86 added qse_get_current_mbsdir()/qse_get_current_wcsdir().
writing qse_get_prog_path(). not yet done.
implementing the Path class
2019-03-13 06:38:54 +00:00
69d0e959da added incomplete Path.hpp and Path.cpp 2019-03-13 00:35:19 +00:00
e61b34b17b added qse_msleep() 2019-03-12 08:42:05 +00:00
d41f8e75e0 added qse_getmtime() and qse_mtime_t to represent time in milliseconds 2019-03-12 08:22:36 +00:00
c5c9c47e86 added Thread::sleep() wrappers 2019-03-12 07:23:41 +00:00
17dcf4feb5 raised the version number to 0.8.2 2019-03-06 14:48:19 +00:00
1ea5d38a83 fixed some bugs in hash macros 2019-03-05 13:04:44 +00:00
a02ad5005f enhanced hash macros 2019-03-05 12:06:13 +00:00
0a405625ce refined definition of stock hash functions 2019-03-05 08:30:49 +00:00
bda9213f86 placed basic hash macros in qse/hash.h 2019-03-05 08:21:01 +00:00
1aea9f4492 some use of sdbm hash 2019-03-01 09:27:03 +00:00
6463fbec12 changed the order of STRIPRECSPC and SUBSEP. no functional impact 2019-02-04 12:48:16 +00:00
98f726e2cc added the global variable STRIPRECSPC.
fixed how to set rtx->gbl.ignorecase for IGNORECASE in set_global()
2019-02-04 12:20:16 +00:00
3fdddccde3 updated project url 2019-02-01 16:43:06 +00:00
044314daa8 switch to use SSL_new for checking openssl in configure.ac 2019-01-31 04:53:20 +00:00
f850f459c4 removed all aio* files. all relevant functions are available in a different project, mio 2019-01-23 08:58:47 +00:00
b2d3050d8b changed the remote log socket to be non-blocking in sys::xxxlog() 2019-01-23 03:32:24 +00:00
f33518b964 changed sys::closelog() a bit 2019-01-22 16:15:56 +00:00
7fb03044e8 added remote syslogging to sys::openlog(), sys::writelog(), sys::closelog() 2019-01-22 09:41:00 +00:00
39e43d4201 improved signal handling in App 2019-01-21 15:12:01 +00:00
f91b85e0cf compacted code a bit 2019-01-21 15:08:22 +00:00
2a3c9c182c fixed a bug in sys::openlog() 2019-01-17 10:09:07 +00:00
59686d87a8 fixed an issue caused by a volatile identifier passsed to openlog() 2019-01-16 09:25:17 +00:00
4d78cd0a65 added sys::openlog(), sys::closelog(), sys::writelog() 2019-01-16 08:42:17 +00:00
448735d4cb removed a few global variables including qse_awk_val_zero, qse_awk_val_one, qse_awk_val_negone. substituted QSE_AWK_VAL_ZERO/ONE/NEGONE marcos.
redefined QUICKINT related macros
2018-11-15 06:27:42 +00:00
d92d534986 fixed wrong indentation in awk.h 2018-11-04 03:27:52 +00:00
79b36ec07f added some internal comments about Mmgr::getDFL() 2018-11-01 04:24:32 +00:00
ff78a340fb changed Mmgr::getDFL() a bit 2018-10-31 12:52:19 +00:00
efc34cdd69 changed the position of the mmgr parameter in some constructors.
removed StdMmgr::getInstance() and initialized the default mmgr inside Mmgr::getDFL() to work around an issue related to c++ initialization order across translation units
2018-10-31 10:40:25 +00:00
b01cf731ca added qse_initnwadwithip4ad(), qse_initnwadwithip6ad()
added SocketAddress::ipaddrToStrBuf()
2018-10-31 08:19:59 +00:00
7143a8ec8e attemping to add qse_sched_yield() 2018-10-29 14:08:07 +00:00
388753fcba fixed starvation in samples/si/spl01.c 2018-10-29 09:18:30 +00:00
2c02013ec1 changed qse_thr_setstacksize() to align the given value to the page size 2018-10-29 08:45:31 +00:00
38ffad3544 added QSE_FLTMAX_REQUIRE_QUADMATH to types.h 2018-10-29 05:08:03 +00:00
560aaf4e05 added -lqsesi to lib/rad/Makefile.am 2018-10-29 04:59:21 +00:00
ad073d3096 fixed some build files 2018-10-29 04:44:19 +00:00
50ee8cabcc added qse_spl_trylock() for powerpc 2018-10-29 04:38:47 +00:00
9fd1dc5bc6 fixed some compiler feature check in macros.h 2018-10-28 17:33:48 +00:00
5c33c8d113 fixed sigset_t initializatino issue 2018-10-28 15:54:36 +00:00
21e289aca7 fixed a race condition issue in TcpServer::stop() 2018-10-28 15:49:46 +00:00
b57af4a2ef added TcpServer::Worker::getSocket()
added SkvEnv::getItemList()
2018-10-28 14:55:47 +00:00
2d7ca5b5d0 removed :: before sigfillset as gcc on darwin ended up with errors 2018-10-27 10:18:01 +00:00
ebe0ac92bf enhanced Socket::send where IP_SENDSRCADDR is available 2018-10-25 06:56:27 +00:00
b8ef500278 fixed some spacing 2018-10-24 14:58:14 +00:00
969a03b3c3 added Socket::send() that accepts the source address and sends with sendmsg with IP_PKTINFO/IP6_PKTINFO. 2018-10-24 08:41:56 +00:00
c56088d21a fixed a bug in qse_dhcp6_find_option()
renamed SocketAddress::setIpaddr to setIp6addr/setIp4addr
2018-10-23 09:13:28 +00:00
95a41ab8a1 added Socket::getSockName() and Socket::getPeerName() 2018-10-23 03:51:47 +00:00
6130d3cdfe excluded all netlink code from non-linux builds 2018-10-23 02:10:24 +00:00
41cb5bb869 restored include/qse/si/Makefile.in 2018-10-22 14:12:07 +00:00
f91e8c3170 added Socket::send() that accept a data vector 2018-10-22 14:10:37 +00:00
1e08cd4f65 added Socket::sendx() that accept a buffer vector and a destination address 2018-10-22 09:42:54 +00:00
83f800799d fixed a wrong internal function name in netlink.c again 2018-10-22 03:54:38 +00:00
91a4b8b9b0 fixed a wrong internal function name in netlink.c 2018-10-22 03:53:18 +00:00
ea85e91391 corrected wrong use of O_CLOEXEC and FD_CLOEXEC in some files 2018-10-22 03:46:19 +00:00
54cd5401d5 added netlink files to Makefile.am 2018-10-22 02:27:34 +00:00
4d61e98172 copied netlink.h and netlink.c from musl 2018-10-21 16:53:41 +00:00
1758ba4e1e fixed Sttp to return T_EOF when EOF is reached 2018-10-21 16:36:03 +00:00
942f33d8d4 added App::isGuardian() 2018-10-20 03:36:40 +00:00
5e35f69abb added several functions into Socket that accepts a length-bounded interface name 2018-10-19 08:28:12 +00:00
1456f94bd1 fixed wrong #ifdefs in nwif.c 2018-10-18 23:46:50 +00:00
7762a0bc90 changed fcntl to ::fcntl in Socket.cpp 2018-10-18 23:35:56 +00:00
d533112788 added Socket::bindToIfce() 2018-10-18 23:29:20 +00:00
d3ed032636 added +int Socket::bindToIfceAddr() 2018-10-18 10:37:00 +00:00
05c2905a0a added Socket::joinMulticastGroup() and Socket::leaveMulticastGroup() 2018-10-18 07:30:25 +00:00
72345c7280 changed length check in Socket::getIfceIfindex() functions 2018-10-17 15:21:48 +00:00
5b529ad535 added Socket::getIfceIndex(), Socket::getIfceAddress(), etc 2018-10-17 14:20:32 +00:00
4a10c5d7cd added QSE_CLI_DISCRETIONARY_OPTVAL.
renamed QSE_CLI_OPTVAL to QSE_CLI_REQUIRE_OPTVAL
renamed QSE_CLI_OPTNAME to QSE_CLI_REQUIRE_OPTNAME
2018-10-17 08:07:45 +00:00
e936bf3502 added qse_ip6adxx_t with address classification functions
defined data types and routines and dhcpv6 messages
2018-10-16 15:59:24 +00:00
2915a591f0 added qse_str_to_ntime() and similar functions.
relocated cli error codes into the new enum type qse_cli_error_code_t
2018-10-16 15:53:08 +00:00
80ceed7bb2 fixed the name of the second parameter in declaration of qse_dhcp4_find_option() 2018-09-28 16:32:36 +00:00
5743a341cc changed the second parameter of qse_awk_rtx_strtonum() to accept the base value on top of the 'strict' conversion bit.
enhanced awk's str::tonum() to accept the optional base parameter
2018-09-26 05:41:37 +00:00
eb79fa721f removed unneeded semicolons at the back of qse_strxcat macros 2018-09-21 14:28:23 +00:00
a9d5a27d43 fixed more flaws in the sample programs 2018-09-18 09:15:31 +00:00