1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-16 00:00:07 +01:00
libwebsockets/minimal-examples/api-tests/api-test-lws_tokenize
Andy Green 0ab4a707fb format strings: ban %.*s as some platforms lack it
The %.*s is very handy to print strings where you have a length, but
there is no NUL termination.  It's quite widely supported but at least
one vendor RTOS toolchain doesn't have it.

Since there aren't that many uses of it yet, audit all uses and
convert to a new helper lws_strnncpy() which uses the smaller of
two lengths.
2019-11-04 13:49:14 +00:00
..
CMakeLists.txt lws_tokenize 2018-10-13 08:16:27 +08:00
main.c format strings: ban %.*s as some platforms lack it 2019-11-04 13:49:14 +00:00
README.md lws_tokenize 2018-10-13 08:16:27 +08:00
selftest.sh lws_tokenize 2018-10-13 08:16:27 +08:00

lws api test lws_tokenize

Performs selftests for lws_tokenize

build

 $ cmake . && make

usage

Commandline option Meaning
-d Debug verbosity in decimal, eg, -d15
-s "input string" String to tokenize
-f 15 LWS_TOKENIZE_F_ flag values to apply to processing of -s
 $ ./lws-api-test-lws_tokenize
[2018/10/09 09:14:17:4834] USER: LWS API selftest: lws_tokenize
[2018/10/09 09:14:17:4835] USER: Completed: PASS: 6, FAIL: 0

If the -s string option is given, the string is tokenized on stdout in the format used to produce the tests in the sources

 $ ./lws-api-test-lws_tokenize -s "hello: 1234,256"
[2018/10/09 09:14:17:4834] USER: LWS API selftest: lws_tokenize
{ LWS_TOKZE_TOKEN_NAME_COLON, "hello", 5 }
{ LWS_TOKZE_INTEGER, "1234", 4 }
{ LWS_TOKZE_DELIMITER, ",", 1 }
{ LWS_TOKZE_INTEGER, "256", 3 }
{ LWS_TOKZE_ENDED, "", 0 }