diff options
| author | Neal Norwitz <nnorwitz@gmail.com> | 2005-12-19 06:05:18 +0000 | 
|---|---|---|
| committer | Neal Norwitz <nnorwitz@gmail.com> | 2005-12-19 06:05:18 +0000 | 
| commit | 30b5c5d0116f8e670a6ca74dcb6bd076a919d681 (patch) | |
| tree | 20c3e7e3ec210387941f3e9ac930537f71410a09 /Python | |
| parent | 5d0ad50f5acf84f2e8a1ca5c6951f333aef0e25a (diff) | |
| download | cpython-git-30b5c5d0116f8e670a6ca74dcb6bd076a919d681.tar.gz | |
Fix SF bug #1072182, problems with signed characters.
Most of these can be backported.
Diffstat (limited to 'Python')
| -rw-r--r-- | Python/ast.c | 2 | ||||
| -rw-r--r-- | Python/dynload_aix.c | 2 | ||||
| -rw-r--r-- | Python/getargs.c | 8 | 
3 files changed, 6 insertions, 6 deletions
diff --git a/Python/ast.c b/Python/ast.c index dde0d04f87..93334dc18e 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -2879,7 +2879,7 @@ static PyObject *  parsestr(const char *s, const char *encoding)  {  	size_t len; -	int quote = *s; +	int quote = Py_CHARMASK(*s);  	int rawmode = 0;  	int need_encoding;  	int unicode = 0; diff --git a/Python/dynload_aix.c b/Python/dynload_aix.c index 03ecc0724a..7a604f2238 100644 --- a/Python/dynload_aix.c +++ b/Python/dynload_aix.c @@ -144,7 +144,7 @@ aix_loaderror(const char *pathname)  		    if (nerr == load_errtab[j].errNo && load_errtab[j].errstr)  			ERRBUF_APPEND(load_errtab[j].errstr);  		} -		while (isdigit(*message[i])) message[i]++ ;  +		while (isdigit(Py_CHARMASK(*message[i]))) message[i]++ ;   		ERRBUF_APPEND(message[i]);  		ERRBUF_APPEND("\n");  	} diff --git a/Python/getargs.c b/Python/getargs.c index 16f156f229..23b91fdbd5 100644 --- a/Python/getargs.c +++ b/Python/getargs.c @@ -166,7 +166,7 @@ vgetargs1(PyObject *args, const char *format, va_list *p_va, int compat)  			if (level == 0) {  				if (c == 'O')  					max++; -				else if (isalpha(c)) { +				else if (isalpha(Py_CHARMASK(c))) {  					if (c != 'e') /* skip encoded */  						max++;  				} else if (c == '|') @@ -255,7 +255,7 @@ vgetargs1(PyObject *args, const char *format, va_list *p_va, int compat)  		}  	} -	if (*format != '\0' && !isalpha((int)(*format)) && +	if (*format != '\0' && !isalpha(Py_CHARMASK((*format))) &&  	    *format != '(' &&  	    *format != '|' && *format != ':' && *format != ';') {  		PyErr_Format(PyExc_SystemError, @@ -347,7 +347,7 @@ converttuple(PyObject *arg, const char **p_format, va_list *p_va, int *levels,  		}  		else if (c == ':' || c == ';' || c == '\0')  			break; -		else if (level == 0 && isalpha(c)) +		else if (level == 0 && isalpha(Py_CHARMASK(c)))  			n++;  	} @@ -1223,7 +1223,7 @@ vgetargskeywords(PyObject *args, PyObject *keywords, const char *format,  	min = -1;  	max = 0;  	while ((i = *format++) != '\0') { -		if (isalpha(i) && i != 'e') { +		if (isalpha(Py_CHARMASK(i)) && i != 'e') {  			max++;  			if (*p == NULL) {  				PyErr_SetString(PyExc_RuntimeError,  | 
