Commit 34c20cf7 authored by Andrew M. Kuchling's avatar Andrew M. Kuchling

Patch #102955, fixing one of the warnings in bug #121479:

Simplifies ord()'s logic at the cost of some code duplication, removing a
    " `ord' might be used uninitialized in this function" warning
parent c867f74a
fo
/* Built-in functions */
#include "Python.h"
......@@ -1512,20 +1512,22 @@ builtin_ord(PyObject *self, PyObject *args)
if (PyString_Check(obj)) {
size = PyString_GET_SIZE(obj);
if (size == 1)
if (size == 1) {
ord = (long)((unsigned char)*PyString_AS_STRING(obj));
return PyInt_FromLong(ord);
}
} else if (PyUnicode_Check(obj)) {
size = PyUnicode_GET_SIZE(obj);
if (size == 1)
if (size == 1) {
ord = (long)*PyUnicode_AS_UNICODE(obj);
return PyInt_FromLong(ord);
}
} else {
PyErr_Format(PyExc_TypeError,
"ord() expected string or Unicode character, " \
"%.200s found", obj->ob_type->tp_name);
return NULL;
}
if (size == 1)
return PyInt_FromLong(ord);
PyErr_Format(PyExc_TypeError,
"ord() expected a character, length-%d string found",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment