diff options
| author | Lauri Tirkkonen <lotheac@iki.fi> | 2019-03-13 19:40:52 +0200 | 
|---|---|---|
| committer | Hiltjo Posthuma <hiltjo@codemadness.org> | 2019-03-15 12:24:13 +0100 | 
| commit | d5efd256aa3840476579a27293ef1fb92a4b51e7 (patch) | |
| tree | c06cbb65210724bb2b654287f49c60e1c2f4fd76 | |
| parent | 75b4ba4b4be70a3ae429b1719d18b021839216d5 (diff) | |
| download | st-d5efd256aa3840476579a27293ef1fb92a4b51e7.tar.xz st-d5efd256aa3840476579a27293ef1fb92a4b51e7.zip  | |
replace utf8strchr with wcschr
| -rw-r--r-- | config.def.h | 4 | ||||
| -rw-r--r-- | st.c | 20 | ||||
| -rw-r--r-- | st.h | 2 | 
3 files changed, 4 insertions, 22 deletions
diff --git a/config.def.h b/config.def.h index 0e01717..482901e 100644 --- a/config.def.h +++ b/config.def.h @@ -30,9 +30,9 @@ static float chscale = 1.0;  /*   * word delimiter string   * - * More advanced example: " `'\"()[]{}" + * More advanced example: L" `'\"()[]{}"   */ -char *worddelimiters = " "; +wchar_t *worddelimiters = L" ";  /* selection timeouts (in milliseconds) */  static unsigned int doubleclicktimeout = 300; @@ -41,7 +41,7 @@  #define ISCONTROLC0(c)		(BETWEEN(c, 0, 0x1f) || (c) == '\177')  #define ISCONTROLC1(c)		(BETWEEN(c, 0x80, 0x9f))  #define ISCONTROL(c)		(ISCONTROLC0(c) || ISCONTROLC1(c)) -#define ISDELIM(u)		(utf8strchr(worddelimiters, u) != NULL) +#define ISDELIM(u)		(u != 0 && wcschr(worddelimiters, u) != NULL)  enum term_mode {  	MODE_WRAP        = 1 << 0, @@ -210,7 +210,6 @@ static void selsnap(int *, int *, int);  static size_t utf8decode(const char *, Rune *, size_t);  static Rune utf8decodebyte(char, size_t *);  static char utf8encodebyte(Rune, size_t); -static char *utf8strchr(char *, Rune);  static size_t utf8validate(Rune *, size_t);  static char *base64dec(const char *); @@ -337,23 +336,6 @@ utf8encodebyte(Rune u, size_t i)  	return utfbyte[i] | (u & ~utfmask[i]);  } -char * -utf8strchr(char *s, Rune u) -{ -	Rune r; -	size_t i, j, len; - -	len = strlen(s); -	for (i = 0, j = 0; i < len; i += j) { -		if (!(j = utf8decode(&s[i], &r, len - i))) -			break; -		if (r == u) -			return &(s[i]); -	} - -	return NULL; -} -  size_t  utf8validate(Rune *u, size_t i)  { @@ -114,7 +114,7 @@ char *xstrdup(char *);  extern char *utmp;  extern char *stty_args;  extern char *vtiden; -extern char *worddelimiters; +extern wchar_t *worddelimiters;  extern int allowaltscreen;  extern char *termname;  extern unsigned int tabspaces;  | 
