Moved PyMac_GetScript() to _localemodule, which is the only place where

it is used, and made it private. Should fix #978662.
This commit is contained in:
Jack Jansen 2004-07-15 13:31:39 +00:00
parent 75694501ca
commit 59f072ad7c
3 changed files with 26 additions and 27 deletions

View File

@ -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 */

View File

@ -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

View File

@ -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)
{