[Python-checkins] r84418 - in python/branches/import_unicode: Include/unicodeobject.h Objects/unicodeobject.c

victor.stinner python-checkins at python.org
Thu Sep 2 00:14:15 CEST 2010


Author: victor.stinner
Date: Thu Sep 2 00:14:15 2010
New Revision: 84418
Log:
Backport Py_UNICODE_strncmp() functio
Modified:
 python/branches/import_unicode/Include/unicodeobject.h
 python/branches/import_unicode/Objects/unicodeobject.c
Modified: python/branches/import_unicode/Include/unicodeobject.h
==============================================================================
--- python/branches/import_unicode/Include/unicodeobject.h	(original)
+++ python/branches/import_unicode/Include/unicodeobject.h	Thu Sep 2 00:14:15 2010
@@ -1629,6 +1629,12 @@
 PyAPI_FUNC(int) Py_UNICODE_strcmp(
 const Py_UNICODE *s1, const Py_UNICODE *s2);
 
+PyAPI_FUNC(int) Py_UNICODE_strncmp(
+ const Py_UNICODE *s1,
+ const Py_UNICODE *s2,
+ size_t n
+ );
+
 PyAPI_FUNC(Py_UNICODE*) Py_UNICODE_strchr(
 const Py_UNICODE *s, Py_UNICODE c
 );
Modified: python/branches/import_unicode/Objects/unicodeobject.c
==============================================================================
--- python/branches/import_unicode/Objects/unicodeobject.c	(original)
+++ python/branches/import_unicode/Objects/unicodeobject.c	Thu Sep 2 00:14:15 2010
@@ -10025,6 +10025,23 @@
 return NULL;
 }
 
+int
+Py_UNICODE_strncmp(const Py_UNICODE *s1, const Py_UNICODE *s2, size_t n)
+{
+ register Py_UNICODE u1, u2;
+ for (; n != 0; n--) {
+ u1 = *s1;
+ u2 = *s2;
+ if (u1 != u2)
+ return (u1 < u2) ? -1 : +1;
+ if (u1 == '0円')
+ return 0;
+ s1++;
+ s2++;
+ }
+ return 0;
+}
+
 Py_UNICODE* 
 Py_UNICODE_strdup(PyObject *object)
 {


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /