From d63a3b8beb4a0841cb59fb3515347ccaab34b733 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Wed, 28 Sep 2011 07:41:54 +0200 Subject: Implement PEP 393. --- Modules/syslogmodule.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'Modules/syslogmodule.c') diff --git a/Modules/syslogmodule.c b/Modules/syslogmodule.c index 5b86963fc8..f6dadf43fa 100644 --- a/Modules/syslogmodule.c +++ b/Modules/syslogmodule.c @@ -70,7 +70,7 @@ syslog_get_argv(void) Py_ssize_t argv_len, scriptlen; PyObject *scriptobj; - Py_UNICODE *atslash, *atstart; + Py_ssize_t slash; PyObject *argv = PySys_GetObject("argv"); if (argv == NULL) { @@ -95,11 +95,13 @@ syslog_get_argv(void) return(NULL); } - atstart = PyUnicode_AS_UNICODE(scriptobj); - atslash = Py_UNICODE_strrchr(atstart, SEP); - if (atslash) { - return(PyUnicode_FromUnicode(atslash + 1, - scriptlen - (atslash - atstart) - 1)); + slash = PyUnicode_FindChar(scriptobj, SEP, + 0, PyUnicode_GET_LENGTH(scriptobj), -1); + if (slash == -2) + return NULL; + if (slash != -1) { + return PyUnicode_Substring(scriptobj, slash, + PyUnicode_GET_LENGTH(scriptobj)); } else { Py_INCREF(scriptobj); return(scriptobj); -- cgit v1.2.1