Sébastien Helleu
498ee539ea
core: make case insensitive comparison with a lower case string (issue #1872 )
...
This is faster because with case insensitive comparison, the chars are
converted to lower case anyway before being compared.
2023-01-28 15:13:51 +01:00
Sébastien Helleu
33bba784c3
core: update copyright dates
2023-01-01 14:54:35 +01:00
Sébastien Helleu
a67556907d
api: rename char comparison functions "utf8_char*" to "string_char*"
2022-12-24 17:33:22 +01:00
Sébastien Helleu
083032972d
api: return arithmetic difference between chars in string comparison functions
...
Return code is changed for the following functions:
- string_strcasecmp
- string_strcasecmp_range
- string_strncasecmp
- string_strncasecmp_range
- string_strcmp_ignore_chars
- utf8_charcmp
- utf8_charcasecmp
- utf8_charcasecmp_range
2022-12-24 16:25:20 +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
95286c1eb3
core: remove unneeded casts
2022-12-19 13:01:33 +01:00
Sébastien Helleu
eb6cc0bc2a
core: return number of bytes for UTF-8 char in function utf8_int_string
2022-12-18 14:13:14 +01:00
Sébastien Helleu
f1cfd6f73f
core: do not display non printable chars, fix function utf8_char_size_screen
...
Now the function utf8_char_size_screen can return -1 when the char is not
printable.
It has a specific behavior for some chars:
- U+0009: value of option weechat.look.tab_width
- U+0001 to U+001F (except U+0009): 1
- U+00AD (soft hyphen): -1
- U+200B (zero width space): -1
2022-12-10 16:05:14 +01:00
Sébastien Helleu
71ae8f1907
api: add function utf8_strncpy
2022-12-10 16:05:14 +01:00
Sébastien Helleu
e5cbbd781d
core: optimize and fix function utf8_strlen_screen with non printable chars
...
When there non printable chars, the return of the function was 1.
For example utf8_strlen_screen("abc\x01") now returns 4 instead of 1.
In addition the function has been optimized to not use the `mbstowcs` function
which is slow; result is up to 15% faster.
2022-12-10 16:05:14 +01:00
Sébastien Helleu
c44b79dce7
core: update copyright dates
2022-01-17 18:41:06 +01:00
Sébastien Helleu
efc7a588d6
core: update copyright dates
2021-01-02 21:34:16 +01:00
Sébastien Helleu
feb6258910
core: update copyright dates
2020-01-04 10:41:26 +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
7ee88fb46c
core: fix some styles
2018-01-07 09:11:45 +01:00
Sébastien Helleu
ed4837b2f6
core: update copyright dates
2018-01-05 00:54:18 +01:00
Sébastien Helleu
705d86e684
core: update copyright dates
2017-01-01 11:32:04 +01:00
Sébastien Helleu
3330724574
core: update copyright dates
2016-01-01 11:09:53 +01:00
Sébastien Helleu
46a9d17ac3
api: add argument "length" in function utf8_is_valid()
2015-08-18 07:36:48 +02:00
Sébastien Helleu
4ecd8a505f
api: fix type of value returned by functions utf8_prev_char, utf8_next_char and utf8_add_offset
2015-07-04 08:39:55 +02:00
Sébastien Helleu
a020c28ea6
core: update copyright dates
2015-01-01 09:23:23 +01:00
Sébastien Helleu
45f1b6bfc5
core: fix code style in function utf8_is_valid()
2014-07-20 15:50:12 +02:00
Sébastien Helleu
1e669e4b1e
Merge branch 'master' of git://github.com/anders/weechat into anders-master
2014-07-20 12:41:39 +02:00
Sébastien Helleu
95011c82e0
core: return only -1, 0 or 1 in string comparison functions
2014-07-05 11:38:44 +02:00
Anders Bergh
b705e20a44
core: overlong UTF-8 encoding and surrogates (U+D800-DFFF) are invalid.
2014-06-16 22:24:46 +02:00
Sebastien Helleu
97cede06b5
core: add support of escaped unicode chars in commands /print and "/input insert"
2014-01-24 12:53:23 +01:00
Sebastien Helleu
facd73734d
core: update some function comments
2014-01-18 09:09:23 +01:00
Sebastien Helleu
4b7e90c679
core: add option weechat.look.tab_width
2014-01-15 15:10:54 +01:00
Sebastien Helleu
892aa79fb5
core: update copyright dates
2014-01-01 00:14:12 +01:00
Sebastien Helleu
42dce54812
core: fix spaces displayed after combining chars (bug #40115 )
2013-10-02 08:03:22 +02:00
Sebastien Helleu
37b8aef96d
core: move test of invalid UTF-8 char length from gui-chat.c to wee-utf8.c
2013-06-29 16:10:09 +02:00
Sebastien Helleu
f97598b4aa
core: update copyright dates
2013-01-01 13:12:49 +01:00
Sebastien Helleu
7eb5cc4b97
core: move comments with description of C file to top of files
2012-12-15 12:27:57 +01:00
Sebastien Helleu
7d34812f1c
core: reformat comments for functions
2012-12-13 18:51:44 +01:00
Sebastien Helleu
3bc15f0e55
core: fix compilation warning on a comparison using type "wint_t"
2012-05-15 15:30:43 +02:00
Sebastien Helleu
d279a66df8
core: do not use malloc in function utf8_strlen_screen for small strings (4 bytes or less)
2012-04-14 18:14:25 +02:00
Sebastien Helleu
47e4a03be6
core: update copyright dates
2012-01-08 18:59:50 +01:00
Sebastien Helleu
491412b314
api: add new functions strcasecmp_range and strncasecmp_range
2011-11-12 10:37:44 +01:00
Sebastien Helleu
dfdf42e27b
core: remove unneeded whitespace
2011-10-26 20:37:03 +02:00
Sebastien Helleu
cbdf4a4ae1
core: remove "const" for first argument of function utf8_normalize
2011-08-02 13:24:53 +02:00
Sebastien Helleu
3dbd5e3564
Add missing parentheses
2011-02-08 21:42:25 +01:00
Sebastien Helleu
d24f6e9e17
Update copyright dates
2011-01-01 18:06:29 +01:00
Sebastien Helleu
6562d676fe
Update licenses and copyrights, add missing author names in sources
2010-06-22 19:46:28 +02:00
Sebastien Helleu
31bfcf96c7
Reformat and add comments for description of C sources
2010-04-08 18:15:00 +02:00
Sebastien Helleu
2133eb30ff
Update copyright dates
2010-01-03 19:31:55 +01:00
Sebastien Helleu
859f6db87b
Fix bug when comparing chars and ignoring case (with some locales) (bug #27190 )
...
There was a problem with some locales like turkish, where upper "i" is "İ".
All IRC commands with "I" inside (JOIN, PRIVMSG, ..) failed with turkish
locale.
2009-08-06 15:08:11 +02:00
Sebastien Helleu
26919fe58b
Add french translation of Plugin API Reference
2009-06-28 00:47:37 +02:00
Sebastien Helleu
9679cd4fbf
Fix compilation problem on FreeBSD: replace call to wcscasecmp() by towlower()
2009-04-15 11:33:45 +02:00
Sebastien Helleu
28e5913ad2
Fix text search in buffer with some utf-8 chars (bug #25649 )
2009-04-14 14:12:28 +02:00