comparison mcabber/src/screen.c @ 933:ede9260be93d

Input line: Improve word-related functions Let's consider that words separator is the space char, not any non-alnum character.
author Mikael Berthe <mikael@lilotux.net>
date Sat, 08 Jul 2006 09:43:23 +0200
parents fc6aaa223650
children 97e6a6da2b2c
comparison
equal deleted inserted replaced
932:fc6aaa223650 933:ede9260be93d
1989 if (ptr_inputline == inputLine) return; 1989 if (ptr_inputline == inputLine) return;
1990 1990
1991 c = prev_char(ptr_inputline, inputLine); 1991 c = prev_char(ptr_inputline, inputLine);
1992 for ( ; c > inputLine ; c = prev_char(c, inputLine)) { 1992 for ( ; c > inputLine ; c = prev_char(c, inputLine)) {
1993 if (!iswalnum(get_char(c))) { 1993 if (!iswalnum(get_char(c))) {
1994 if (iswblank(get_char(c))) 1994 if (iswblank(get_char(c))) {
1995 if (!spaceallowed) break; 1995 if (!spaceallowed) break;
1996 } else spaceallowed = 0;
1996 } else spaceallowed = 0; 1997 } else spaceallowed = 0;
1997 } 1998 }
1998 1999
1999 if (c != inputLine || iswblank(get_char(c))) 2000 if (c != inputLine || iswblank(get_char(c)))
2000 if ((c < prev_char(ptr_inputline, inputLine)) && (!iswalnum(get_char(c)))) 2001 if ((c < prev_char(ptr_inputline, inputLine)) && (!iswalnum(get_char(c))))
2020 2021
2021 for (ptr_inputline = prev_char(ptr_inputline, inputLine) ; 2022 for (ptr_inputline = prev_char(ptr_inputline, inputLine) ;
2022 ptr_inputline > inputLine ; 2023 ptr_inputline > inputLine ;
2023 ptr_inputline = prev_char(ptr_inputline, inputLine)) { 2024 ptr_inputline = prev_char(ptr_inputline, inputLine)) {
2024 if (!iswalnum(get_char(ptr_inputline))) { 2025 if (!iswalnum(get_char(ptr_inputline))) {
2025 if (iswblank(get_char(ptr_inputline))) 2026 if (iswblank(get_char(ptr_inputline))) {
2026 if (!spaceallowed) break; 2027 if (!spaceallowed) break;
2028 } else spaceallowed = 0;
2027 } else spaceallowed = 0; 2029 } else spaceallowed = 0;
2028 } 2030 }
2029 2031
2030 if (ptr_inputline < prev_char(old_ptr_inputLine, inputLine) 2032 if (ptr_inputline < prev_char(old_ptr_inputLine, inputLine)
2031 && iswblank(get_char(ptr_inputline)) 2033 && iswblank(get_char(ptr_inputline))
2042 int spaceallowed = 1; 2044 int spaceallowed = 1;
2043 2045
2044 while (*ptr_inputline) { 2046 while (*ptr_inputline) {
2045 ptr_inputline = next_char(ptr_inputline); 2047 ptr_inputline = next_char(ptr_inputline);
2046 if (!iswalnum(get_char(ptr_inputline))) { 2048 if (!iswalnum(get_char(ptr_inputline))) {
2047 if (iswblank(get_char(ptr_inputline))) 2049 if (iswblank(get_char(ptr_inputline))) {
2048 if (!spaceallowed) break; 2050 if (!spaceallowed) break;
2051 } else spaceallowed = 0;
2049 } else spaceallowed = 0; 2052 } else spaceallowed = 0;
2050 } 2053 }
2051 2054
2052 check_offset(1); 2055 check_offset(1);
2053 } 2056 }