mirror of
https://github.com/python/cpython.git
synced 2025-09-13 20:27:05 +00:00
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:
parent
75694501ca
commit
59f072ad7c
3 changed files with 26 additions and 27 deletions
|
@ -13,7 +13,6 @@
|
||||||
/*
|
/*
|
||||||
** Helper routines for error codes and such.
|
** 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 */
|
char *PyMac_StrError(int); /* strerror with mac errors */
|
||||||
extern PyObject *PyMac_OSErrException; /* Exception for OSErr */
|
extern PyObject *PyMac_OSErrException; /* Exception for OSErr */
|
||||||
PyObject *PyMac_GetOSErrException(void); /* Initialize & return it */
|
PyObject *PyMac_GetOSErrException(void); /* Initialize & return it */
|
||||||
|
|
|
@ -30,7 +30,7 @@ This software comes with no warranty. Use at your own risk.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__APPLE__)
|
#if defined(__APPLE__)
|
||||||
#include "pymactoolbox.h"
|
#include <CoreFoundation/CoreFoundation.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(MS_WINDOWS)
|
#if defined(MS_WINDOWS)
|
||||||
|
@ -406,10 +406,34 @@ PyLocale_getdefaultlocale(PyObject* self)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__APPLE__)
|
#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*
|
static PyObject*
|
||||||
PyLocale_getdefaultlocale(PyObject* self)
|
PyLocale_getdefaultlocale(PyObject* self)
|
||||||
{
|
{
|
||||||
return Py_BuildValue("Os", Py_None, PyMac_getscript());
|
return Py_BuildValue("Os", Py_None, mac_getscript());
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -27,30 +27,6 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
#include "pymactoolbox.h"
|
#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 */
|
/* Like strerror() but for Mac OS error numbers */
|
||||||
char *PyMac_StrError(int err)
|
char *PyMac_StrError(int err)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue