mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 19:34:08 +00:00 
			
		
		
		
	Reuse static global hexdigits array.
This commit is contained in:
		
							parent
							
								
									79e913eac7
								
							
						
					
					
						commit
						db5d33e4ee
					
				
					 1 changed files with 12 additions and 14 deletions
				
			
		| 
						 | 
					@ -2362,8 +2362,6 @@ PyObject *PyUnicode_EncodeRawUnicodeEscape(const Py_UNICODE *s,
 | 
				
			||||||
    char *p;
 | 
					    char *p;
 | 
				
			||||||
    char *q;
 | 
					    char *q;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    static const char *hexdigit = "0123456789abcdef";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef Py_UNICODE_WIDE
 | 
					#ifdef Py_UNICODE_WIDE
 | 
				
			||||||
    repr = PyString_FromStringAndSize(NULL, 10 * size);
 | 
					    repr = PyString_FromStringAndSize(NULL, 10 * size);
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
| 
						 | 
					@ -2382,14 +2380,14 @@ PyObject *PyUnicode_EncodeRawUnicodeEscape(const Py_UNICODE *s,
 | 
				
			||||||
	if (ch >= 0x10000) {
 | 
						if (ch >= 0x10000) {
 | 
				
			||||||
            *p++ = '\\';
 | 
					            *p++ = '\\';
 | 
				
			||||||
            *p++ = 'U';
 | 
					            *p++ = 'U';
 | 
				
			||||||
            *p++ = hexdigit[(ch >> 28) & 0xf];
 | 
					            *p++ = hexdigits[(ch >> 28) & 0xf];
 | 
				
			||||||
            *p++ = hexdigit[(ch >> 24) & 0xf];
 | 
					            *p++ = hexdigits[(ch >> 24) & 0xf];
 | 
				
			||||||
            *p++ = hexdigit[(ch >> 20) & 0xf];
 | 
					            *p++ = hexdigits[(ch >> 20) & 0xf];
 | 
				
			||||||
            *p++ = hexdigit[(ch >> 16) & 0xf];
 | 
					            *p++ = hexdigits[(ch >> 16) & 0xf];
 | 
				
			||||||
            *p++ = hexdigit[(ch >> 12) & 0xf];
 | 
					            *p++ = hexdigits[(ch >> 12) & 0xf];
 | 
				
			||||||
            *p++ = hexdigit[(ch >> 8) & 0xf];
 | 
					            *p++ = hexdigits[(ch >> 8) & 0xf];
 | 
				
			||||||
            *p++ = hexdigit[(ch >> 4) & 0xf];
 | 
					            *p++ = hexdigits[(ch >> 4) & 0xf];
 | 
				
			||||||
            *p++ = hexdigit[ch & 15];
 | 
					            *p++ = hexdigits[ch & 15];
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        else
 | 
					        else
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					@ -2397,10 +2395,10 @@ PyObject *PyUnicode_EncodeRawUnicodeEscape(const Py_UNICODE *s,
 | 
				
			||||||
	if (ch >= 256) {
 | 
						if (ch >= 256) {
 | 
				
			||||||
            *p++ = '\\';
 | 
					            *p++ = '\\';
 | 
				
			||||||
            *p++ = 'u';
 | 
					            *p++ = 'u';
 | 
				
			||||||
            *p++ = hexdigit[(ch >> 12) & 0xf];
 | 
					            *p++ = hexdigits[(ch >> 12) & 0xf];
 | 
				
			||||||
            *p++ = hexdigit[(ch >> 8) & 0xf];
 | 
					            *p++ = hexdigits[(ch >> 8) & 0xf];
 | 
				
			||||||
            *p++ = hexdigit[(ch >> 4) & 0xf];
 | 
					            *p++ = hexdigits[(ch >> 4) & 0xf];
 | 
				
			||||||
            *p++ = hexdigit[ch & 15];
 | 
					            *p++ = hexdigits[ch & 15];
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
	/* Copy everything else as-is */
 | 
						/* Copy everything else as-is */
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue