Skip to content

Commit 39af669

Browse files
committed
create the ArchiveEntry.rdev property
1 parent 46fe742 commit 39af669

2 files changed

Lines changed: 14 additions & 0 deletions

File tree

libarchive/entry.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,18 @@ def perm(self):
274274
def perm(self, value):
275275
ffi.entry_set_perm(self._entry_p, value)
276276

277+
@property
278+
def rdev(self):
279+
return ffi.entry_rdev(self._entry_p)
280+
281+
@rdev.setter
282+
def rdev(self, value):
283+
if isinstance(value, tuple):
284+
ffi.entry_set_rdevmajor(self._entry_p, value[0])
285+
ffi.entry_set_rdevminor(self._entry_p, value[1])
286+
else:
287+
ffi.entry_set_rdev(self._entry_p, value)
288+
277289
@property
278290
def rdevmajor(self):
279291
return ffi.entry_rdevmajor(self._entry_p)

libarchive/ffi.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ def get_write_filter_function(filter_name):
193193
ffi('entry_hardlink_w', [c_archive_entry_p], c_wchar_p)
194194
ffi('entry_symlink', [c_archive_entry_p], c_char_p)
195195
ffi('entry_symlink_w', [c_archive_entry_p], c_wchar_p)
196+
ffi('entry_rdev', [c_archive_entry_p], c_uint)
196197
ffi('entry_rdevmajor', [c_archive_entry_p], c_uint)
197198
ffi('entry_rdevminor', [c_archive_entry_p], c_uint)
198199
ffi('entry_uid', [c_archive_entry_p], c_longlong)
@@ -208,6 +209,7 @@ def get_write_filter_function(filter_name):
208209
ffi('entry_set_mtime', [c_archive_entry_p, c_time_t, c_long], None)
209210
ffi('entry_set_ctime', [c_archive_entry_p, c_time_t, c_long], None)
210211
ffi('entry_set_birthtime', [c_archive_entry_p, c_time_t, c_long], None)
212+
ffi('entry_set_rdev', [c_archive_entry_p, c_uint], None)
211213
ffi('entry_set_rdevmajor', [c_archive_entry_p, c_uint], None)
212214
ffi('entry_set_rdevminor', [c_archive_entry_p, c_uint], None)
213215
ffi('entry_unset_size', [c_archive_entry_p], None)

0 commit comments

Comments
 (0)