浏览代码

mknod needs st_rdev, not st_dev.

Jonas Borgström 12 年之前
父节点
当前提交
0cc09fb761
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      darc/archive.py

+ 2 - 2
darc/archive.py

@@ -272,7 +272,7 @@ class Archive(object):
             os.symlink(source, path)
             os.symlink(source, path)
             self.restore_attrs(path, item, symlink=True)
             self.restore_attrs(path, item, symlink=True)
         elif stat.S_ISCHR(mode) or stat.S_ISBLK(mode):
         elif stat.S_ISCHR(mode) or stat.S_ISBLK(mode):
-            os.mknod(path, item['mode'], item['dev'])
+            os.mknod(path, item['mode'], item['rdev'])
             self.restore_attrs(path, item)
             self.restore_attrs(path, item)
         else:
         else:
             raise Exception('Unknown archive item type %r' % item['mode'])
             raise Exception('Unknown archive item type %r' % item['mode'])
@@ -365,7 +365,7 @@ class Archive(object):
         self.add_item(item)
         self.add_item(item)
 
 
     def process_dev(self, path, st):
     def process_dev(self, path, st):
-        item = {'path': path.lstrip('/\\:'), 'dev': st.st_dev}
+        item = {'path': path.lstrip('/\\:'), 'rdev': st.st_rdev}
         item.update(self.stat_attrs(st, path))
         item.update(self.stat_attrs(st, path))
         self.add_item(item)
         self.add_item(item)