[w3m-dev 02878] fix regexp [-...], [...-], []...]
* regexp.c (newRegex0): if first char is `-' or ']' after '[', it isn't meta char. if last char in [..] is `-', it isn't meta char. From: Fumitoshi UKAI <ukai@debian.or.jp>
This commit is contained in:
		| @@ -1,3 +1,10 @@ | |||||||
|  | 2002-01-22  Fumitoshi UKAI  <ukai@debian.or.jp> | ||||||
|  |  | ||||||
|  | 	* [w3m-dev 02878] fix regexp [-...], [...-], []...] | ||||||
|  | 	* regexp.c (newRegex0): if first char is `-' or ']' after '[',  | ||||||
|  | 		it isn't meta char. | ||||||
|  | 		if last char in [..] is `-', it isn't meta char. | ||||||
|  |  | ||||||
| 2002-01-22  Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> | 2002-01-22  Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> | ||||||
|  |  | ||||||
| 	* [w3m-dev 02877] some fixes for urimethodmap | 	* [w3m-dev 02877] some fixes for urimethodmap | ||||||
| @@ -2163,4 +2170,4 @@ | |||||||
| 	* release-0-2-1 | 	* release-0-2-1 | ||||||
| 	* import w3m-0.2.1 | 	* import w3m-0.2.1 | ||||||
|  |  | ||||||
| $Id: ChangeLog,v 1.245 2002/01/21 15:56:12 ukai Exp $ | $Id: ChangeLog,v 1.246 2002/01/21 16:38:43 ukai Exp $ | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								regex.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								regex.c
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| /* $Id: regex.c,v 1.14 2002/01/21 15:56:13 ukai Exp $ */ | /* $Id: regex.c,v 1.15 2002/01/21 16:38:43 ukai Exp $ */ | ||||||
| /*  | /*  | ||||||
|  * regex: Regular expression pattern match library |  * regex: Regular expression pattern match library | ||||||
|  *  |  *  | ||||||
| @@ -150,6 +150,8 @@ newRegex0(char **ex, int igncase, Regex *regex, char **msg, int level) | |||||||
| 	    } | 	    } | ||||||
| 	    else | 	    else | ||||||
| 		m = RE_WHICH; | 		m = RE_WHICH; | ||||||
|  | 	    if (*p == '-' || *p == ']') | ||||||
|  | 		*(st_ptr++) = (unsigned char)*(p++); | ||||||
| 	    while (*p != ']') { | 	    while (*p != ']') { | ||||||
| 		if (*p == '\\') { | 		if (*p == '\\') { | ||||||
| 		    p++; | 		    p++; | ||||||
| @@ -162,7 +164,7 @@ newRegex0(char **ex, int igncase, Regex *regex, char **msg, int level) | |||||||
| #endif | #endif | ||||||
| 			*(st_ptr++) = (unsigned char)*(p++); | 			*(st_ptr++) = (unsigned char)*(p++); | ||||||
| 		} | 		} | ||||||
| 		else if (*p == '-') { | 		else if (*p == '-' && *(p+1) != ']') { | ||||||
| 		    *(st_ptr++) = RE_WHICH_RANGE; | 		    *(st_ptr++) = RE_WHICH_RANGE; | ||||||
| 		    p++; | 		    p++; | ||||||
| 		} | 		} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user