[yocto] [opkg-utils][PATCH 04/22] arfile.py: handle six digit UIDs
Martin Jansa
martin.jansa at gmail.com
Thu Mar 29 15:22:38 PDT 2012
From: Scott Anderson <o2e at saaworld.com>
* Essentially, the problem is that arfile.py is splitting the ar header with
white-space instead of fixed-width fields, so two fields would get treated
as a single field. This makes things better than before as it now honors
the fixed field widths.
Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
---
arfile.py | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/arfile.py b/arfile.py
index 22548af..8291a2d 100644
--- a/arfile.py
+++ b/arfile.py
@@ -75,7 +75,12 @@ class ArFile:
l = self.f.readline()
if not l: break
l = l.replace('`', '')
- descriptor = l.split()
+ # Field lengths from /usr/include/ar.h:
+ ar_field_lens = [ 16, 12, 6, 6, 8, 10, 2 ]
+ descriptor = []
+ for field_len in ar_field_lens:
+ descriptor.append(l[:field_len].strip())
+ l = l[field_len:]
# print descriptor
size = int(descriptor[5])
memberName = descriptor[0][:-1]
--
1.7.8.5
More information about the yocto
mailing list