summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Include/pymactoolbox.h1
-rw-r--r--Modules/_localemodule.c28
-rw-r--r--Python/mactoolboxglue.c24
3 files changed, 26 insertions, 27 deletions
diff --git a/Include/pymactoolbox.h b/Include/pymactoolbox.h
index a1e2a6f..403ddf5 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 0ab79cb..0f8a71a 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 <CoreFoundation/CoreFoundation.h>
#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 7308ae4..ba15062 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)
{