浏览代码

Obtaining 'char *' from temporary Python value

Old code causes a compile error on Mint 17.2
Thomas Harold 9 年之前
父节点
当前提交
03579ddb5a
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      borg/hashindex.pyx

+ 4 - 2
borg/hashindex.pyx

@@ -37,7 +37,8 @@ cdef class IndexBase:
     def __cinit__(self, capacity=0, path=None, key_size=32):
         self.key_size = key_size
         if path:
-            self.index = hashindex_read(os.fsencode(path))
+            path = os.fsencode(path)
+            self.index = hashindex_read(path)
             if not self.index:
                 raise Exception('hashindex_read failed')
         else:
@@ -54,7 +55,8 @@ cdef class IndexBase:
         return cls(path=path)
 
     def write(self, path):
-        if not hashindex_write(self.index, os.fsencode(path)):
+        path = os.fsencode(path)
+        if not hashindex_write(self.index, path):
             raise Exception('hashindex_write failed')
 
     def clear(self):