194 Commits

Author SHA1 Message Date
Sébastien Helleu
e2135fc3eb core: add functions to compute binary/hex hash of data 2020-02-29 15:46:25 +01:00
Sébastien Helleu
84648a5cd8 tests: add eval tests with debug enabled 2020-02-04 20:56:59 +01:00
Sébastien Helleu
f76a5a8b57 tests: add unit tests on function util_file_get_content 2020-02-03 21:39:06 +01:00
Sébastien Helleu
3edae5af86 tests: add unit tests on function util_get_time_diff 2020-02-02 13:58:35 +01:00
Sébastien Helleu
d2dda92daf tests: add eval tests with hdata variables of different types 2020-01-27 23:04:24 +01:00
Sébastien Helleu
b7c09ed084 tests: add eval tests on conditions with text after closing parenthesis 2020-01-27 23:04:24 +01:00
Sébastien Helleu
a6a6fb74c2 tests: add eval tests on conditions with leading and trailing spaces (ignored) 2020-01-27 23:04:24 +01:00
Sébastien Helleu
2839dc7ddf tests: add eval tests on "regex not matching" comparison 2020-01-27 23:04:24 +01:00
Sébastien Helleu
0975c407e0 tests: add eval tests with hdata list name and pointer 2020-01-27 23:04:24 +01:00
Sébastien Helleu
201b4da169 tests: add eval tests with buffer local variables 2020-01-27 23:04:24 +01:00
Sébastien Helleu
8107b5d162 tests: add eval tests on options with different types 2020-01-27 23:04:24 +01:00
Sébastien Helleu
dd13393896 tests: add eval test with empty value for "date:" 2020-01-27 23:04:24 +01:00
Sébastien Helleu
70f0c81a2c tests: add eval tests with invalid values for "modifier:" 2020-01-27 23:04:24 +01:00
Sébastien Helleu
6d9a247df3 tests: add eval tests with invalid values for "repeat:" 2020-01-27 23:04:24 +01:00
Sébastien Helleu
1914ceb74f tests: add eval tests with invalid values for "cut:" and "cutscr:" 2020-01-27 23:04:22 +01:00
Sébastien Helleu
34bb43379a tests: add eval test with invalid value for "hide:" 2020-01-27 21:21:01 +01:00
Sébastien Helleu
070e86bd6e tests: add eval test with invalid regex group 2020-01-27 21:17:17 +01:00
Sébastien Helleu
1d77b9742e tests: add evaluation tests with ternary operator and escape of prefix ("$") 2020-01-27 21:09:54 +01:00
Sébastien Helleu
d91d1ebb8c tests: add other calc tests with multiple operators
The order of operators are different from the initial test, so this increases
the code coverage in wee-calc.c.
2020-01-27 20:54:23 +01:00
Sébastien Helleu
feb6258910 core: update copyright dates 2020-01-04 10:41:26 +01:00
Sébastien Helleu
e612e63140 core: fix evaluation of condition with nested "if" (closes #1434) 2019-12-18 21:22:36 +01:00
Sébastien Helleu
8fc8f728d4 core: add reverse of string for screen in evaluation of expressions with "revscr:" 2019-10-12 20:14:36 +02:00
Sébastien Helleu
88aa82d672 core: add support of modifiers in evaluation of expressions with "modifier:name,data,string" (issue #60) 2019-10-06 09:13:35 +02:00
Sébastien Helleu
3a356f109f core: add power operator "**" in calc expressions (issue #997) 2019-09-24 21:03:56 +02:00
Sébastien Helleu
7d795c4d53 core: fix wrong results with the unary minus in calc expressions 2019-09-24 20:49:48 +02:00
Sébastien Helleu
e1a4612797 core: ignore color codes in ${length:xxx} and ${lengthscr:xxx} 2019-09-21 13:54:36 +02:00
Sébastien Helleu
dcfc4e8ed5 core: add "length:xxx" and "lengthscr:xxx" in evaluation of expressions 2019-09-21 07:56:21 +02:00
Sébastien Helleu
997894edc0 core: add calculation of expression in evaluation of expressions with "calc:..." (issue #997) 2019-09-20 21:37:01 +02:00
Tobias Stoeckmann
f7b84fcc67 Fixed segfault during excessive evaluation.
It is possible to trigger a segmentation fault while processing
an evaluation of repeating string. On a Linux 64 bit system,
enter this (or adjust arguments for 32 bit accordingly):

/eval -n ${repeat:1073741824,----}

It will overflow an integer calculation because int instead of
size_t is used. Proper check of int limitations fixes this issue.

I haven't changed this specific piece of code to size_t because it
would crash in other parts of the code tree instead. For now, int
is a limitating factor when it comes to strings (and should be
enough for sane use cases).

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2019-09-17 21:26:52 +02:00
Sébastien Helleu
7f62985f89 core: use fixed-width integer for computing hashtable DJB2 key hash (closes #1394) 2019-08-19 23:29:22 +02:00
Andrew Potter
0957231d30 api: add function list_user_data (issue #666) 2019-08-10 12:55:43 +02:00
Sébastien Helleu
9178156354 api: add argument "strip_items" in function string_split 2019-06-15 20:47:14 +02:00
Sébastien Helleu
866a29c7e6 core: check that string pointer is not NULL in function "string_shared_get" 2019-06-15 17:21:06 +02:00
Sébastien Helleu
6fa4494aae tests: add test with multiple wildcards in call to function string_match 2019-04-01 00:18:21 +02:00
Sébastien Helleu
5d02ff9a6d tests: add tests on function util_signal_search 2019-04-01 00:15:25 +02:00
Sébastien Helleu
d2571ab53b tests: add tests on util_timeval functions 2019-04-01 00:07:32 +02:00
Sébastien Helleu
709334eede tests: add tests on function util_parse_delay with unit "ms" (milliseconds) 2019-04-01 00:02:49 +02:00
Sébastien Helleu
fa5b1eed77 core: move parsing of /wait delay in a separate function, with unit tests 2019-03-29 20:17:26 +01:00
Sébastien Helleu
2b70d71aa1 core: replace argument "keep_eol" by "flags" in function string_split (closes #1322) 2019-03-10 18:29:16 +01:00
Sébastien Helleu
8aa5f5375e core: add value -1 for keep_eol in function string_strip (issue #1322)
The value -1 means it's a standard split, but empty items are kept, and
separators are not removed at beginning/end of string.
2019-03-09 21:56:05 +01:00
Sébastien Helleu
c2859096cb api: add function string_match_list 2019-02-27 07:46:22 +01:00
Sébastien Helleu
73a4901fe1 tests: fix evaluation tests on FreeBSD
The following special sequences are not supported in regular expressions on
FreeBSD:

- "\w": replaced with "[a-zA-Z0-9_]"
- "\S": replaced with "[^ ]" (it should be "[^ \t\n\r\f\v]", but in practice
  only spaces could be a problem when we use this sequence).
2019-01-26 10:00:47 +01:00
Sébastien Helleu
507dfec781 tests: fix UTF-8 tests on FreeBSD
Tests for size on screen are made on U+2EE9 (CJK Radical Simplified Yellow)
instead of U+24B62 (CJK Unified Ideograph-24B62) which returns a length of 1 on
FreeBSD and 2 on Linux.
2019-01-26 09:57:30 +01:00
Sébastien Helleu
c96e2f3593 tests: add tests on function irc_config_check_autojoin 2019-01-11 22:27:28 +01:00
Sébastien Helleu
2b0057239b core: update copyright dates 2019-01-01 15:40:51 +01:00
Sébastien Helleu
4712d0bb06 core: use https for links to GNU GPL license 2018-11-29 23:16:07 +01:00
Sébastien Helleu
ed3f281ba9 api: add functions string_base_{encode,decode}, remove functions string_{encode,decode}_base64 2018-11-04 14:49:11 +01:00
Sébastien Helleu
6d72868e15 api: return integer in function string_encode_base16 2018-11-02 14:20:16 +01:00
Sébastien Helleu
8848b0e22a api: return integer in function string_encode_base64 2018-11-02 14:09:23 +01:00
Sébastien Helleu
74a17d821f tests: add tests on functions secure_encrypt_data and secure_decrypt_data 2018-11-02 14:06:14 +01:00