mirror of
https://github.com/weechat/weechat.git
synced 2026-07-06 17:53:13 +02:00
core: check for newline characters in string_is_whitespace_char
This fixes a bug where if you had multiple lines in the input and pressed ctrl-w when the cursor was after the first word of any line but the first, it would delete both the word before the cursor and the last word on the preceding line.
This commit is contained in:
committed by
Sébastien Helleu
parent
b4d999010a
commit
bd9978e467
@@ -1312,7 +1312,7 @@ string_convert_escaped_chars (const char *string)
|
||||
}
|
||||
|
||||
/*
|
||||
* Checks if first char of string is a whitespace (space or tab).
|
||||
* Checks if first char of string is a whitespace (space, tab, newline or carriage return).
|
||||
*
|
||||
* Returns:
|
||||
* 1: first char is whitespace
|
||||
@@ -1322,7 +1322,11 @@ string_convert_escaped_chars (const char *string)
|
||||
int
|
||||
string_is_whitespace_char (const char *string)
|
||||
{
|
||||
return (string && ((string[0] == ' ') || string[0] == '\t')) ? 1 : 0;
|
||||
return (string && (
|
||||
(string[0] == ' ')
|
||||
|| (string[0] == '\t')
|
||||
|| (string[0] == '\n')
|
||||
|| (string[0] == '\r'))) ? 1 : 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -1090,6 +1090,8 @@ TEST(CoreString, IsWhitespaceChar)
|
||||
|
||||
LONGS_EQUAL(1, string_is_whitespace_char (" abc def"));
|
||||
LONGS_EQUAL(1, string_is_whitespace_char ("\tabc def"));
|
||||
LONGS_EQUAL(1, string_is_whitespace_char ("\nabc def"));
|
||||
LONGS_EQUAL(1, string_is_whitespace_char ("\rabc def"));
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user