From a70070c9e5a45aaa72278143331292dd17c0342e Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sun, 1 Aug 2010 18:59:44 +0000 Subject: [PATCH] Merged revisions 83395,83417 via svnmerge from svn+ssh://svn.python.org/python/branches/py3k ........ r83395 | georg.brandl | 2010-08-01 10:49:18 +0200 (So, 01 Aug 2010) | 1 line #8821: do not rely on Unicode strings being terminated with a \u0000, rather explicitly check range before looking for a second surrogate character. ........ r83417 | georg.brandl | 2010-08-01 20:38:26 +0200 (So, 01 Aug 2010) | 1 line #5776: fix mistakes in python specfile. (Nobody probably uses it anyway.) ........ --- Misc/RPM/python-3.1.spec | 9 ++++----- Objects/unicodeobject.c | 4 ++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Misc/RPM/python-3.1.spec b/Misc/RPM/python-3.1.spec index e80cf6fd51..6ab1f4e8b5 100644 --- a/Misc/RPM/python-3.1.spec +++ b/Misc/RPM/python-3.1.spec @@ -35,7 +35,7 @@ %define name python #--start constants-- %define version 3.1.2 -%define libver 3.1 +%define libvers 3.1 #--end constants-- %define release 1pydotorg %define __prefix /usr @@ -54,7 +54,7 @@ Summary: An interpreted, interactive, object-oriented programming language. Name: %{name}%{binsuffix} Version: %{version} Release: %{release} -Copyright: Modified CNRI Open Source License +License: PSF Group: Development/Languages Source: Python-%{version}.tar.bz2 %if %{include_docs} @@ -256,7 +256,7 @@ if [ ! -z "%{binsuffix}" ] then ( cd $RPM_BUILD_ROOT%{__prefix}/bin; rm -f python[0-9a-zA-Z]*; mv -f python python"%{binsuffix}" ) - ( cd $RPM_BUILD_ROOT%{__prefix}/man/man1; mv python.1 python%{binsuffix}.1 ) + ( cd $RPM_BUILD_ROOT%{__prefix}/share/man/man1; mv python.1 python%{binsuffix}.1 ) ( cd $RPM_BUILD_ROOT%{__prefix}/bin; mv -f pydoc pydoc"%{binsuffix}" ) ( cd $RPM_BUILD_ROOT%{__prefix}/bin; mv -f idle idle"%{binsuffix}" ) fi @@ -341,14 +341,13 @@ rm -f mainpkg.files tools.files %defattr(-,root,root) %doc Misc/README Misc/cheatsheet Misc/Porting %doc LICENSE Misc/ACKS Misc/HISTORY Misc/NEWS -%{__prefix}/man/man1/python%{binsuffix}.1* +%{__prefix}/share/man/man1/python%{binsuffix}.1* %attr(755,root,root) %dir %{__prefix}/include/python%{libvers} %attr(755,root,root) %dir %{__prefix}/%{libdirname}/python%{libvers}/ %{__prefix}/%{libdirname}/python%{libvers}/*.txt %{__prefix}/%{libdirname}/python%{libvers}/*.py* %{__prefix}/%{libdirname}/python%{libvers}/pdb.doc -%{__prefix}/%{libdirname}/python%{libvers}/profile.doc %{__prefix}/%{libdirname}/python%{libvers}/curses %{__prefix}/%{libdirname}/python%{libvers}/distutils %{__prefix}/%{libdirname}/python%{libvers}/encodings diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 199f34ae56..a18c571e83 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -3597,7 +3597,7 @@ PyObject *PyUnicode_EncodeUnicodeEscape(const Py_UNICODE *s, ch2 = *s++; size--; - if (ch2 >= 0xDC00 && ch2 <= 0xDFFF) { + if (ch2 >= 0xDC00 && ch2 <= 0xDFFF && size) { ucs = (((ch & 0x03FF) << 10) | (ch2 & 0x03FF)) + 0x00010000; *p++ = '\\'; *p++ = 'U'; @@ -3839,7 +3839,7 @@ PyObject *PyUnicode_EncodeRawUnicodeEscape(const Py_UNICODE *s, ch2 = *s++; size--; - if (ch2 >= 0xDC00 && ch2 <= 0xDFFF) { + if (ch2 >= 0xDC00 && ch2 <= 0xDFFF && size) { ucs = (((ch & 0x03FF) << 10) | (ch2 & 0x03FF)) + 0x00010000; *p++ = '\\'; *p++ = 'U'; -- 2.40.0