@@ -1174,7 +1174,7 @@ _db_associateCallback(DB* db, const DBT* priKey, const DBT* priData,
11741174 else if (PyLong_Check (result )) {
11751175 retval = PyLong_AsLong (result );
11761176 }
1177- else if (PyByteArray_Check (result ) || PyString_Check (result )) {
1177+ else if (PyByteArray_Check (result ) || PyBytes_Check (result )) {
11781178 char * data ;
11791179 Py_ssize_t size ;
11801180
@@ -1183,7 +1183,7 @@ _db_associateCallback(DB* db, const DBT* priKey, const DBT* priData,
11831183 if (PyByteArray_Check (result ))
11841184 data = PyByteArray_AS_STRING (result );
11851185 else
1186- data = PyString_AS_STRING (result );
1186+ data = PyBytes_AS_STRING (result );
11871187 secKey -> flags = DB_DBT_APPMALLOC ; /* DB will free */
11881188 secKey -> data = malloc (size ); /* TODO, check this */
11891189 if (secKey -> data ) {
@@ -1523,7 +1523,7 @@ DB_get(DBObject* self, PyObject* args, PyObject* kwargs)
15231523 retval = Py_BuildValue ("y#y#" , key .data , key .size , data .data ,
15241524 data .size );
15251525 else /* return just the data */
1526- retval = PyString_FromStringAndSize ((char * )data .data , data .size );
1526+ retval = PyBytes_FromStringAndSize ((char * )data .data , data .size );
15271527 free_dbt (& data );
15281528 }
15291529 FREE_DBT_VIEW (key , keyobj , key_buf_view );
@@ -1593,13 +1593,13 @@ DB_pget(DBObject* self, PyObject* args, PyObject* kwargs)
15931593 else if (!err ) {
15941594 PyObject * pkeyObj ;
15951595 PyObject * dataObj ;
1596- dataObj = PyString_FromStringAndSize (data .data , data .size );
1596+ dataObj = PyBytes_FromStringAndSize (data .data , data .size );
15971597
15981598 if (self -> primaryDBType == DB_RECNO ||
15991599 self -> primaryDBType == DB_QUEUE )
16001600 pkeyObj = PyLong_FromLong (* (int * )pkey .data );
16011601 else
1602- pkeyObj = PyString_FromStringAndSize (pkey .data , pkey .size );
1602+ pkeyObj = PyBytes_FromStringAndSize (pkey .data , pkey .size );
16031603
16041604 if (flags & DB_SET_RECNO ) /* return key , pkey and data */
16051605 {
@@ -1608,7 +1608,7 @@ DB_pget(DBObject* self, PyObject* args, PyObject* kwargs)
16081608 if (type == DB_RECNO || type == DB_QUEUE )
16091609 keyObj = PyLong_FromLong (* (int * )key .data );
16101610 else
1611- keyObj = PyString_FromStringAndSize (key .data , key .size );
1611+ keyObj = PyBytes_FromStringAndSize (key .data , key .size );
16121612#if (PY_VERSION_HEX >= 0x02040000 )
16131613 retval = PyTuple_Pack (3 , keyObj , pkeyObj , dataObj );
16141614#else
@@ -1736,7 +1736,7 @@ DB_get_both(DBObject* self, PyObject* args, PyObject* kwargs)
17361736 /* XXX(nnorwitz): can we do: retval = dataobj; Py_INCREF(retval); */
17371737 /* XXX(gps) I think not: buffer API input vs. bytes object output. */
17381738 /* XXX(guido) But what if the input is PyString? */
1739- retval = PyString_FromStringAndSize ((char * )data .data , data .size );
1739+ retval = PyBytes_FromStringAndSize ((char * )data .data , data .size );
17401740
17411741 /* Even though the flags require DB_DBT_MALLOC, data is not always
17421742 allocated. 4.4: allocated, 4.5: *not* allocated. :-( */
@@ -2780,7 +2780,7 @@ PyObject* DB_subscript(DBObject* self, PyObject* keyobj)
27802780 retval = NULL ;
27812781 }
27822782 else {
2783- retval = PyString_FromStringAndSize ((char * )data .data , data .size );
2783+ retval = PyBytes_FromStringAndSize ((char * )data .data , data .size );
27842784 free_dbt (& data );
27852785 }
27862786
@@ -2935,7 +2935,7 @@ _DB_make_list(DBObject* self, DB_TXN* txn, int type)
29352935 case DB_BTREE :
29362936 case DB_HASH :
29372937 default :
2938- item = PyString_FromStringAndSize ((char * )key .data , key .size );
2938+ item = PyBytes_FromStringAndSize ((char * )key .data , key .size );
29392939 break ;
29402940 case DB_RECNO :
29412941 case DB_QUEUE :
@@ -2945,7 +2945,7 @@ _DB_make_list(DBObject* self, DB_TXN* txn, int type)
29452945 break ;
29462946
29472947 case _VALUES_LIST :
2948- item = PyString_FromStringAndSize ((char * )data .data , data .size );
2948+ item = PyBytes_FromStringAndSize ((char * )data .data , data .size );
29492949 break ;
29502950
29512951 case _ITEMS_LIST :
@@ -3293,13 +3293,13 @@ DBC_pget(DBCursorObject* self, PyObject* args, PyObject *kwargs)
32933293 else {
32943294 PyObject * pkeyObj ;
32953295 PyObject * dataObj ;
3296- dataObj = PyString_FromStringAndSize (data .data , data .size );
3296+ dataObj = PyBytes_FromStringAndSize (data .data , data .size );
32973297
32983298 if (self -> mydb -> primaryDBType == DB_RECNO ||
32993299 self -> mydb -> primaryDBType == DB_QUEUE )
33003300 pkeyObj = PyLong_FromLong (* (int * )pkey .data );
33013301 else
3302- pkeyObj = PyString_FromStringAndSize (pkey .data , pkey .size );
3302+ pkeyObj = PyBytes_FromStringAndSize (pkey .data , pkey .size );
33033303
33043304 if (key .data && key .size ) /* return key, pkey and data */
33053305 {
@@ -3308,7 +3308,7 @@ DBC_pget(DBCursorObject* self, PyObject* args, PyObject *kwargs)
33083308 if (type == DB_RECNO || type == DB_QUEUE )
33093309 keyObj = PyLong_FromLong (* (int * )key .data );
33103310 else
3311- keyObj = PyString_FromStringAndSize (key .data , key .size );
3311+ keyObj = PyBytes_FromStringAndSize (key .data , key .size );
33123312 retval = PyTuple_Pack (3 , keyObj , pkeyObj , dataObj );
33133313 Py_DECREF (keyObj );
33143314 }
@@ -4916,7 +4916,7 @@ DBSequence_get_key(DBSequenceObject* self, PyObject* args)
49164916 MYDB_END_ALLOW_THREADS
49174917
49184918 if (!err )
4919- retval = PyString_FromStringAndSize (key .data , key .size );
4919+ retval = PyBytes_FromStringAndSize (key .data , key .size );
49204920
49214921 free_dbt (& key );
49224922 RETURN_IF_ERR ();
0 commit comments