From b4fb12589dd7df8b6e1bd018b47d34c2b8a9f940 Mon Sep 17 00:00:00 2001
From: hofmockel <dreagonfly@gmx.de>
Date: Wed, 15 Jan 2014 09:53:27 +0100
Subject: [PATCH] Fix refcount error and use cythons <bytes> to convert a
 python object to char*

---
 rocksdb/_rocksdb.pyx | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/rocksdb/_rocksdb.pyx b/rocksdb/_rocksdb.pyx
index b0d2518..e357b66 100644
--- a/rocksdb/_rocksdb.pyx
+++ b/rocksdb/_rocksdb.pyx
@@ -289,10 +289,11 @@ cdef cpp_bool merge_callback(
         return False
 
     except Exception:
+        tb = traceback.format_exc()
         logger.Log(
             log,
             "Error in merge_callback: %s",
-            PyString_AsString(traceback.format_exc()))
+            <bytes>tb)
         return False
 
 cdef cpp_bool full_merge_callback(
@@ -322,10 +323,11 @@ cdef cpp_bool full_merge_callback(
         return False
 
     except Exception:
+        tb = traceback.format_exc()
         logger.Log(
             log,
             "Error in full_merge_callback: %s",
-            PyString_AsString(traceback.format_exc()))
+            <bytes>tb)
         return False
 
 cdef cpp_bool partial_merge_callback(
@@ -350,10 +352,11 @@ cdef cpp_bool partial_merge_callback(
         return False
 
     except Exception:
+        tb = traceback.format_exc()
         logger.Log(
             log,
             "Error in partial_merge_callback: %s",
-            PyString_AsString(traceback.format_exc()))
+            <bytes>tb)
 
         return False
 ##############################################
-- 
GitLab