replace utf8strchr with wcschr
This commit is contained in:
		
							parent
							
								
									75b4ba4b4b
								
							
						
					
					
						commit
						d5efd256aa
					
				| @ -30,9 +30,9 @@ static float chscale = 1.0; | |||||||
| /*
 | /*
 | ||||||
|  * word delimiter string |  * word delimiter string | ||||||
|  * |  * | ||||||
|  * More advanced example: " `'\"()[]{}" |  * More advanced example: L" `'\"()[]{}" | ||||||
|  */ |  */ | ||||||
| char *worddelimiters = " "; | wchar_t *worddelimiters = L" "; | ||||||
| 
 | 
 | ||||||
| /* selection timeouts (in milliseconds) */ | /* selection timeouts (in milliseconds) */ | ||||||
| static unsigned int doubleclicktimeout = 300; | static unsigned int doubleclicktimeout = 300; | ||||||
|  | |||||||
							
								
								
									
										20
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								st.c
									
									
									
									
									
								
							| @ -41,7 +41,7 @@ | |||||||
| #define ISCONTROLC0(c)		(BETWEEN(c, 0, 0x1f) || (c) == '\177') | #define ISCONTROLC0(c)		(BETWEEN(c, 0, 0x1f) || (c) == '\177') | ||||||
| #define ISCONTROLC1(c)		(BETWEEN(c, 0x80, 0x9f)) | #define ISCONTROLC1(c)		(BETWEEN(c, 0x80, 0x9f)) | ||||||
| #define ISCONTROL(c)		(ISCONTROLC0(c) || ISCONTROLC1(c)) | #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 { | enum term_mode { | ||||||
| 	MODE_WRAP        = 1 << 0, | 	MODE_WRAP        = 1 << 0, | ||||||
| @ -210,7 +210,6 @@ static void selsnap(int *, int *, int); | |||||||
| static size_t utf8decode(const char *, Rune *, size_t); | static size_t utf8decode(const char *, Rune *, size_t); | ||||||
| static Rune utf8decodebyte(char, size_t *); | static Rune utf8decodebyte(char, size_t *); | ||||||
| static char utf8encodebyte(Rune, size_t); | static char utf8encodebyte(Rune, size_t); | ||||||
| static char *utf8strchr(char *, Rune); |  | ||||||
| static size_t utf8validate(Rune *, size_t); | static size_t utf8validate(Rune *, size_t); | ||||||
| 
 | 
 | ||||||
| static char *base64dec(const char *); | static char *base64dec(const char *); | ||||||
| @ -337,23 +336,6 @@ utf8encodebyte(Rune u, size_t i) | |||||||
| 	return utfbyte[i] | (u & ~utfmask[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 | size_t | ||||||
| utf8validate(Rune *u, size_t i) | utf8validate(Rune *u, size_t i) | ||||||
| { | { | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								st.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								st.h
									
									
									
									
									
								
							| @ -114,7 +114,7 @@ char *xstrdup(char *); | |||||||
| extern char *utmp; | extern char *utmp; | ||||||
| extern char *stty_args; | extern char *stty_args; | ||||||
| extern char *vtiden; | extern char *vtiden; | ||||||
| extern char *worddelimiters; | extern wchar_t *worddelimiters; | ||||||
| extern int allowaltscreen; | extern int allowaltscreen; | ||||||
| extern char *termname; | extern char *termname; | ||||||
| extern unsigned int tabspaces; | extern unsigned int tabspaces; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user