Fix --disable-unicode compilation problems.

This commit is contained in:
Martin v. Löwis 2002-11-21 23:52:35 +00:00
parent ceeb9627c1
commit 0073f2e428
2 changed files with 9 additions and 0 deletions

View file

@ -22,6 +22,11 @@ standardized by the C Standard and the POSIX standard (a thinly\n\
disguised Unix interface). Refer to the library manual and\n\ disguised Unix interface). Refer to the library manual and\n\
corresponding Unix manual entries for more information on calls."); corresponding Unix manual entries for more information on calls.");
#ifndef Py_USING_UNICODE
/* This is used in signatures of functions. */
#define Py_UNICODE void
#endif
#if defined(PYOS_OS2) #if defined(PYOS_OS2)
#define INCL_DOS #define INCL_DOS
#define INCL_DOSERRORS #define INCL_DOSERRORS

View file

@ -116,9 +116,11 @@ fill_file_fields(PyFileObject *f, FILE *fp, char *name, char *mode,
Py_DECREF(f->f_name); Py_DECREF(f->f_name);
Py_DECREF(f->f_mode); Py_DECREF(f->f_mode);
#ifdef Py_USING_UNICODE
if (wname) if (wname)
f->f_name = PyUnicode_FromObject(wname); f->f_name = PyUnicode_FromObject(wname);
else else
#endif
f->f_name = PyString_FromString(name); f->f_name = PyString_FromString(name);
f->f_mode = PyString_FromString(mode); f->f_mode = PyString_FromString(mode);
@ -329,6 +331,7 @@ static PyObject *
file_repr(PyFileObject *f) file_repr(PyFileObject *f)
{ {
if (PyUnicode_Check(f->f_name)) { if (PyUnicode_Check(f->f_name)) {
#ifdef Py_USING_UNICODE
PyObject *ret = NULL; PyObject *ret = NULL;
PyObject *name; PyObject *name;
name = PyUnicode_AsUnicodeEscapeString(f->f_name); name = PyUnicode_AsUnicodeEscapeString(f->f_name);
@ -339,6 +342,7 @@ file_repr(PyFileObject *f)
f); f);
Py_XDECREF(name); Py_XDECREF(name);
return ret; return ret;
#endif
} else { } else {
return PyString_FromFormat("<%s file '%s', mode '%s' at %p>", return PyString_FromFormat("<%s file '%s', mode '%s' at %p>",
f->f_fp == NULL ? "closed" : "open", f->f_fp == NULL ? "closed" : "open",