]> granicus.if.org Git - python/commitdiff
Partial fix for string handling. Null byte TBD.
authorJack Jansen <jack.jansen@cwi.nl>
Wed, 8 May 2002 15:29:33 +0000 (15:29 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Wed, 8 May 2002 15:29:33 +0000 (15:29 +0000)
Mac/Modules/cf/pycfbridge.c

index 9afc96ccaadb7c075e34d1f7e2864dc8b451b960..a44c4041204d288290e6fa156eaa220accdd74cf 100644 (file)
@@ -53,7 +53,7 @@ PyCF_CF2Python_sequence(CFArrayRef src) {
                if (item_cf == NULL ) goto err;
                item_py = PyCF_CF2Python(item_cf);
                if (item_py == NULL ) goto err;
-               if (!PyList_SetItem(rv, i, item_py)) goto err;
+               if (PyList_SetItem(rv, i, item_py) < 0) goto err;
                item_py = NULL;
        }
        return rv;
@@ -86,7 +86,7 @@ PyCF_CF2Python_mapping(CFTypeRef src) {
                if (key_py == NULL ) goto err;
                value_py = PyCF_CF2Python(value_py);
                if (value_py == NULL ) goto err;
-               if (!PyDict_SetItem(rv, key_py, value_py)) goto err;
+               if (PyDict_SetItem(rv, key_py, value_py) < 0) goto err;
                key_py = NULL;
                value_py = NULL;
        }
@@ -135,6 +135,8 @@ PyCF_CF2Python_string(CFStringRef src) {
 int
 PyCF_Python2CF(PyObject *src, CFTypeRef *dst) {
 
+       if (PyString_Check(src) || PyUnicode_Check(src))
+               return PyCF_Python2CF_simple(src, dst);
        if (PySequence_Check(src))
                return PyCF_Python2CF_sequence(src, (CFArrayRef *)dst);
        if (PyMapping_Check(src))