From: Jack Jansen Date: Thu, 15 Jul 2004 13:31:39 +0000 (+0000) Subject: Moved PyMac_GetScript() to _localemodule, which is the only place where X-Git-Tag: v2.4a2~250 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=59f072ad7c7b56a1e803a74ba59d869b838c256f;p=python Moved PyMac_GetScript() to _localemodule, which is the only place where it is used, and made it private. Should fix #978662. --- diff --git a/Include/pymactoolbox.h b/Include/pymactoolbox.h index a1e2a6f6e4..403ddf5034 100644 --- a/Include/pymactoolbox.h +++ b/Include/pymactoolbox.h @@ -13,7 +13,6 @@ /* ** Helper routines for error codes and such. */ -char *PyMac_getscript(void); /* Get the default encoding for our 8bit character set */ char *PyMac_StrError(int); /* strerror with mac errors */ extern PyObject *PyMac_OSErrException; /* Exception for OSErr */ PyObject *PyMac_GetOSErrException(void); /* Initialize & return it */ diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c index 0ab79cba60..0f8a71aadc 100644 --- a/Modules/_localemodule.c +++ b/Modules/_localemodule.c @@ -30,7 +30,7 @@ This software comes with no warranty. Use at your own risk. #endif #if defined(__APPLE__) -#include "pymactoolbox.h" +#include #endif #if defined(MS_WINDOWS) @@ -406,10 +406,34 @@ PyLocale_getdefaultlocale(PyObject* self) #endif #if defined(__APPLE__) +/* +** Find out what the current script is. +** Donated by Fredrik Lund. +*/ +static char *mac_getscript(void) +{ + CFStringEncoding enc = CFStringGetSystemEncoding(); + static CFStringRef name = NULL; + /* Return the code name for the encodings for which we have codecs. */ + switch(enc) { + case kCFStringEncodingMacRoman: return "mac-roman"; + case kCFStringEncodingMacGreek: return "mac-greek"; + case kCFStringEncodingMacCyrillic: return "mac-cyrillic"; + case kCFStringEncodingMacTurkish: return "mac-turkish"; + case kCFStringEncodingMacIcelandic: return "mac-icelandic"; + /* XXX which one is mac-latin2? */ + } + if (!name) { + /* This leaks a an object. */ + name = CFStringConvertEncodingToIANACharSetName(enc); + } + return (char *)CFStringGetCStringPtr(name, 0); +} + static PyObject* PyLocale_getdefaultlocale(PyObject* self) { - return Py_BuildValue("Os", Py_None, PyMac_getscript()); + return Py_BuildValue("Os", Py_None, mac_getscript()); } #endif diff --git a/Python/mactoolboxglue.c b/Python/mactoolboxglue.c index 7308ae4e8b..ba15062229 100644 --- a/Python/mactoolboxglue.c +++ b/Python/mactoolboxglue.c @@ -27,30 +27,6 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #include "pymactoolbox.h" -/* -** Find out what the current script is. -** Donated by Fredrik Lund. -*/ -char *PyMac_getscript() -{ - CFStringEncoding enc = CFStringGetSystemEncoding(); - static CFStringRef name = NULL; - /* Return the code name for the encodings for which we have codecs. */ - switch(enc) { - case kCFStringEncodingMacRoman: return "mac-roman"; - case kCFStringEncodingMacGreek: return "mac-greek"; - case kCFStringEncodingMacCyrillic: return "mac-cyrillic"; - case kCFStringEncodingMacTurkish: return "mac-turkish"; - case kCFStringEncodingMacIcelandic: return "mac-icelandic"; - /* XXX which one is mac-latin2? */ - } - if (!name) { - /* This leaks a an object. */ - name = CFStringConvertEncodingToIANACharSetName(enc); - } - return (char *)CFStringGetCStringPtr(name, 0); -} - /* Like strerror() but for Mac OS error numbers */ char *PyMac_StrError(int err) {