[Python-3000-checkins] r58682 - python/branches/py3k/Modules/_sqlite/connection.c python/branches/py3k/Modules/_sqlite/module.c

neal.norwitz python-3000-checkins at python.org
Sat Oct 27 04:50:52 CEST 2007


Author: neal.norwitz
Date: Sat Oct 27 04:50:52 2007
New Revision: 58682

Modified:
   python/branches/py3k/Modules/_sqlite/connection.c
   python/branches/py3k/Modules/_sqlite/module.c
Log:
Use unicode in more places.  Fixes a problem with str8 + str in test.

Modified: python/branches/py3k/Modules/_sqlite/connection.c
==============================================================================
--- python/branches/py3k/Modules/_sqlite/connection.c	(original)
+++ python/branches/py3k/Modules/_sqlite/connection.c	Sat Oct 27 04:50:52 2007
@@ -87,7 +87,7 @@
     }
 
     if (!isolation_level) {
-        isolation_level = PyString_FromString("");
+        isolation_level = PyUnicode_FromString("");
         if (!isolation_level) {
             return -1;
         }
@@ -828,24 +828,28 @@
 
         self->inTransaction = 0;
     } else {
+        const char *statement;
+        Py_ssize_t size;
+
         Py_INCREF(isolation_level);
         self->isolation_level = isolation_level;
 
-        begin_statement = PyString_FromString("BEGIN ");
+        begin_statement = PyUnicode_FromString("BEGIN ");
         if (!begin_statement) {
             return -1;
         }
-        PyString_Concat(&begin_statement, isolation_level);
+        PyUnicode_Concat(begin_statement, isolation_level);
         if (!begin_statement) {
             return -1;
         }
 
-        self->begin_statement = PyMem_Malloc(PyString_Size(begin_statement) + 2);
+        statement = PyUnicode_AsStringAndSize(begin_statement, &size);
+        self->begin_statement = PyMem_Malloc(size + 2);
         if (!self->begin_statement) {
             return -1;
         }
 
-        strcpy(self->begin_statement, PyString_AsString(begin_statement));
+        strcpy(self->begin_statement, statement);
         Py_DECREF(begin_statement);
     }
 

Modified: python/branches/py3k/Modules/_sqlite/module.c
==============================================================================
--- python/branches/py3k/Modules/_sqlite/module.c	(original)
+++ python/branches/py3k/Modules/_sqlite/module.c	Sat Oct 27 04:50:52 2007
@@ -359,13 +359,13 @@
         Py_DECREF(tmp_obj);
     }
 
-    if (!(tmp_obj = PyString_FromString(PYSQLITE_VERSION))) {
+    if (!(tmp_obj = PyUnicode_FromString(PYSQLITE_VERSION))) {
         goto error;
     }
     PyDict_SetItemString(dict, "version", tmp_obj);
     Py_DECREF(tmp_obj);
 
-    if (!(tmp_obj = PyString_FromString(sqlite3_libversion()))) {
+    if (!(tmp_obj = PyUnicode_FromString(sqlite3_libversion()))) {
         goto error;
     }
     PyDict_SetItemString(dict, "sqlite_version", tmp_obj);


More information about the Python-3000-checkins mailing list