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