Sébastien Helleu
de7150c65b
Revert "core, plugins: replace "%lx" by "%p" in calls to sscanf"
...
This reverts commit e64ab3c675 .
This was causing incorrect conversion of strings "0x..." to pointers on systems
like Solaris/ILLUMOS.
And as a side effect, buffers were sometimes empty in weechat relay clients
like glowing-bear.
2025-05-15 20:10:32 +02:00
Sébastien Helleu
2475f20cb7
all: move description of C files below the copyright and license
2025-03-31 11:47:49 +02:00
Sébastien Helleu
3a6ac9ee76
all: add SPDX license tag
2025-03-31 07:49:26 +02:00
Sébastien Helleu
d8987a1678
all: replace Copyright lines by SPDX copyright tag
2025-03-30 14:47:12 +02:00
Sébastien Helleu
547e2b934e
core: update copyright dates
2025-02-01 23:13:18 +01:00
Sébastien Helleu
6908eec160
tests: replace POINTERS_EQUAL by STRCMP_EQUAL in string comparisons with NULL
2024-09-14 10:26:42 +02:00
Sébastien Helleu
2a6b16d1de
tests: add tests of hdata returning NULL pointer in eval
2024-06-22 09:08:47 +02:00
Sébastien Helleu
e64ab3c675
core, plugins: replace "%lx" by "%p" in calls to sscanf
2024-06-14 17:59:02 +02:00
Sébastien Helleu
c83b08fae8
tests: add test on function hdata_count with empty list "gui_layouts"
2024-06-14 17:37:11 +02:00
Sébastien Helleu
ce3c5f0caa
core: add hdata count in evaluation of expressions
...
Syntax is one of:
- `hdata_count:name[list]`: uses a hdata name and list
- `hdata_count:name[pointer]`: uses a hdata name and pointer (count starts at
this pointer)
2024-06-14 17:04:06 +02:00
Sébastien Helleu
965beb37de
core: fix print of pointer values
2024-04-01 21:08:52 +02:00
Sébastien Helleu
24c4029c96
core: remove "wee-" prefix from source files in src/core and src/core/hook
2024-03-12 21:27:37 +01:00
Sébastien Helleu
2469dc6df9
core: use function util_strftimeval in evaluation of expression date:xxx
2024-01-27 16:53:53 +01:00
Sébastien Helleu
eecb2a997e
core: update copyright dates
2024-01-01 22:29:58 +01:00
Sébastien Helleu
d4220e8144
tests: add eval tests on "raw" and "raw_hl" with escaped prefix
2023-11-24 08:04:35 +01:00
Sébastien Helleu
479ab5bc58
core: evaluate expressions even when the suffix is missing (issue #2042 , issue #1714 )
2023-11-23 08:49:54 +01:00
Sébastien Helleu
87f74e9f95
core: add syntax highlighting in evaluation of expressions, add option weechat.color.eval_syntax_colors (issue #2042 )
...
Syntax highlighting (raw string without evaluation): `${raw_hl:xxx}`
Syntax highlighting: `${hl:xxx}`
2023-11-23 08:49:54 +01:00
Sébastien Helleu
921b7fc2d3
tests: add tests on eval ternary operator with extra colon in value
2023-08-16 21:08:55 +02:00
Andrew Potter
e3f588679c
core: allow /eval to get hashtable properties
2023-03-10 20:19:03 +01:00
Sébastien Helleu
33bba784c3
core: update copyright dates
2023-01-01 14:54:35 +01:00
Sébastien Helleu
68b510517e
core: improve case convert and insensitive char comparisons ( closes #258 )
...
All lowercase letters are now properly converted to uppercase letters (and vice
versa), via functions `towupper` and `towlower`.
Functions `string_tolower`, `string_toupper` and `utf8_charcasecmp` have been
optimized to be faster when there are ASCII chars (< 128); functions are about
25-40% faster with mixed chars (both ASCII and multi-bytes).
Function `utf8_wide_char` has been removed, `utf8_char_int` can be used
instead.
2022-12-21 20:49:09 +01:00
Sébastien Helleu
196a051141
core: add range of chars in evaluation of expressions with chars:xxx
2022-11-05 22:34:38 +01:00
Sébastien Helleu
51ed9ec93e
core: add case conversion in evaluation of expressions ( closes #1778 )
2022-04-18 13:46:16 +02:00
Sébastien Helleu
c44b79dce7
core: update copyright dates
2022-01-17 18:41:06 +01:00
Sébastien Helleu
a6826af796
core: add creation of user variables in evaluated expressions with ${define:name,value}
2021-09-20 21:15:28 +02:00
Sébastien Helleu
5b3929b321
api: add split of string and shell arguments in evaluation of expressions
...
Split of string: ${split:number,separators,flags,xxx}
Split of shell arguments: ${split_shell:number,xxx}
2021-09-06 13:32:04 +02:00
Sébastien Helleu
2de272ee6c
api: add "${re:repl_index}" to get the index of replacement in function string_eval_expression
2021-08-29 10:40:52 +02:00
Sébastien Helleu
20866a0457
core: fix decoding of attributes in basic ANSI colors ( closes #1678 )
2021-08-06 20:33:31 +02:00
Sébastien Helleu
d89c4f559c
api: add random integer number in evaluation of expressions with "random:min,max"
2021-08-03 19:46:41 +02:00
Sébastien Helleu
a071ee5012
tests: remove dependency on French locale in eval tests
2021-05-16 20:17:07 +02:00
Sébastien Helleu
cf7ac76de9
tests: add missing include of locale.h in eval tests
2021-05-16 19:09:18 +02:00
Sébastien Helleu
e03642e9df
tests: add tests on translation in evaluated expressions
2021-05-16 14:09:07 +02:00
Sébastien Helleu
3bf585ba04
core: evaluate left/right part of comparison after split on the comparison operator in ${if:xxx} ( closes #1627 )
...
To force evaluation of the expression before doing the comparison (less safe),
the "${eval_cond:xxx}" can be used.
With the old behavior we had:
>> ${if:a==b}
== [0]
>> ${if:${raw:a==b}}
== [0]
>> ${if:${eval_cond:${raw:a==b}}}
== [0]
And with the new behavior, we have:
>> ${if:a==b}
== [0]
>> ${if:${raw:a==b}}
== [1]
>> ${if:${eval_cond:${raw:a==b}}}
== [0]
2021-04-04 14:44:18 +02:00
Sébastien Helleu
8ee7d46605
api: add support of pointer names in function string_eval_expression (direct and in hdata)
...
These two formats are now supported, if "pointer_name" is present in the
"pointers" hashtable:
* "${pointer_name}": value of pointer (example: "0x1234abcd")
* ${buffer[pointer_name].full_name}: use of a pointer name instead of pointer
value or list name
2021-03-17 21:57:16 +01:00
Sébastien Helleu
a93e598c35
core: add raw string in evaluation of expressions with "raw:xxx" ( closes #1611 )
2021-02-05 20:07:16 +01:00
Sébastien Helleu
efc7a588d6
core: update copyright dates
2021-01-02 21:34:16 +01:00
Sébastien Helleu
d413ccdf4f
core: add indentation and colors in /eval debug output
2021-01-01 17:08:59 +01:00
Sébastien Helleu
2ad3da03a2
core: display more verbose debug with two "-d" in command /eval
...
Now a single -d in command /eval shows less debug messages than previous
versions.
To get the same debug messages than previous versions, two -d must be used.
2020-12-31 20:37:43 +01:00
Sébastien Helleu
ee9aa28a8c
core: do not remove quotes in arguments of command /eval ( closes #1601 )
...
Now, /eval -n -c "a" == "a" returns True instead of False.
When quotes were removed, the condition evaluated was: a" == "a (which is
False).
2020-12-25 00:21:03 +01:00
Sébastien Helleu
b626df72fb
core: add evaluation of conditions in evaluation of expressions with "eval_cond:" ( closes #1582 )
2020-11-14 09:28:46 +01:00
Sébastien Helleu
36c55f6973
tests: fix name of some unit tests
2020-08-05 07:28:30 +02:00
Sébastien Helleu
66d4590dab
core: add base 16/32/64 encoding/decoding in evaluation of expressions
2020-05-21 09:36:35 +02:00
Sébastien Helleu
62ccee9505
tests: run tests on plugins only if the plugins are enabled and compiled
2020-05-17 15:29:06 +02:00
Sébastien Helleu
b1c3a29ac7
core: add include comparison operators in evaluation of expressions
...
New comparison operators:
- "==*": is matching mask, case sensitive (wildcard "*" is allowed)
- "!!*": is NOT matching mask, case sensitive (wildcard "*" is allowed)
- "==-": is included, case sensitive
- "!!-": is NOT included, case sensitive
- "=-": is included, case insensitive
- "!-": is NOT included, case insensitive
2020-05-05 20:43:45 +02:00
Sébastien Helleu
84648a5cd8
tests: add eval tests with debug enabled
2020-02-04 20:56:59 +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