355 Commits

Author SHA1 Message Date
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
608ec9f483 core: add values djb2_32 and sum_32 for option weechat.look.nick_color_hash (issue #1394) 2019-08-20 21:20:33 +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
Sébastien Helleu
80f103b68a core: use fixed-width integer for computing nick hash (issue #1394) 2019-08-19 23:27:11 +02:00
Andrew Potter
0957231d30 api: add function list_user_data (issue #666) 2019-08-10 12:55:43 +02:00
Sébastien Helleu
b4215ee466 tests: add tests on IRC function irc_nick_is_nick 2019-08-06 22:13:10 +02:00
Sébastien Helleu
b6cc5ef70f irc: fix length of user/nick/host in split of messages (closes #1387) 2019-08-04 16:39:18 +02:00
Sébastien Helleu
59ba378eec tests: add missing space after name of function 2019-08-04 14:39:58 +02:00
Sébastien Helleu
4fa62a83f1 tests: add unit tests on IRC functions irc_message_split* (issue #1387) 2019-08-04 14:39:58 +02:00
Sébastien Helleu
067f237ec3 tests: add unit tests on IRC function irc_message_convert_charset 2019-08-04 14:04:45 +02:00
Sébastien Helleu
c46255b1d0 tests: add unit tests on IRC functions irc_message_parse and irc_message_parse_to_hashtable 2019-08-03 13:57:50 +02:00
Sébastien Helleu
d79e0cbd31 tests: add unit tests on IRC function irc_message_replace_vars 2019-08-03 11:34:42 +02:00
Sébastien Helleu
28d79d0c93 tests: add unit tests on IRC functions irc_message_get_{nick,address}_from_host 2019-08-03 11:30:35 +02:00
Sébastien Helleu
82a92bd4e9 irc: add unit tests on ignore functions 2019-07-10 19:20:09 +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
2073408b86 irc: fix parsing of MODE command when there are colons after the first mode argument (closes #1296) 2019-05-10 19:29:58 +02:00
Sébastien Helleu
ece92efd81 tests: add link with iconv library (if found)
This fixes a compilation error on FreeBSD.
2019-04-20 10:15:01 +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
2f37de9148 core: make "input_commands_allowed" work with /wait and /repeat commands (issue #928) 2019-03-28 18:45:22 +01:00
Sébastien Helleu
c713a0e475 tests: fix scripting API tests on 32-bit arch
The problem is that on 32-bit arch (like GNU/Hurd), the number 42000000000000
is converted to 42000000000000L in Python, which is causing troubles in other
languages like Perl.

The fix is to use a smaller number. Such large size for function
string_format_size is tested in the C++ test suite anyway.
2019-03-25 00:18:55 +01:00
Sébastien Helleu
b04d8934ee tests: fix style in CMake file 2019-03-24 13:43:19 +01:00
Sébastien Helleu
2612adf899 core: add CMake option "ENABLE_CODE_COVERAGE" to compile with code coverage options
This option is OFF by default and should be enabled only for tests, to measure
test coverage.
2019-03-24 09:38:43 +01:00
Sébastien Helleu
34bf68d38e tests: remove extra output before/after tests 2019-03-23 20:08:17 +01:00
Sébastien Helleu
766bea3f9e tests: remove value for first #define in headers 2019-03-19 20:33:30 +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
80b980b2af api: add function command_options (issue #928) 2019-02-28 20:19:18 +01:00
Sébastien Helleu
c2859096cb api: add function string_match_list 2019-02-27 07:46:22 +01:00
Sébastien Helleu
57aa9e060e spell: rename "aspell" plugin to "spell" (issue #1299)
The following things have been renamed:

- file aspell.conf -> spell.conf
- options aspell.* -> spell.*
- bar item aspell_dict -> spell_dict
- bar item and local variable aspell_suggest -> spell_suggest
- info aspell_dict -> spell_dict
2019-02-19 21:15:56 +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
eb0828ec6c tests: fix link of tests on GNU Hurd and FreeBSD 2019-01-20 16:53:00 +01:00
Sébastien Helleu
142d312ad7 tests: add missing include of stdio.h 2019-01-20 15:59:04 +01:00
Sébastien Helleu
98249ada86 tests: add tests on IRC color functions
Functions tested:

- irc_color_decode
- irc_color_encode
- irc_color_decode_ansi
2019-01-20 15:17:21 +01:00
Sébastien Helleu
34a6fce134 tests: add tests on function irc_protocol_parse_time 2019-01-13 14:47:35 +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
d8ad7e6a8d tests: add missing file test-secure.cpp in autotools 2018-11-04 15:03:54 +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