summaryrefslogtreecommitdiff
path: root/archival
diff options
context:
space:
mode:
authorDenys Vlasenko2013-09-10 16:27:08 +0200
committerDenys Vlasenko2013-09-10 16:27:08 +0200
commita613aa1b4c26be1567a59e9216c83d21d4be122b (patch)
tree64205c9f5f3e195a047bf9e56278fd26a512e9ba /archival
parent2a053a2430e8de2f5de3da7d4d25343f61161f09 (diff)
downloadbusybox-a613aa1b4c26be1567a59e9216c83d21d4be122b.zip
busybox-a613aa1b4c26be1567a59e9216c83d21d4be122b.tar.gz
ar: better comment
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'archival')
-rw-r--r--archival/libarchive/get_header_ar.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/archival/libarchive/get_header_ar.c b/archival/libarchive/get_header_ar.c
index f655585..c66bb3e 100644
--- a/archival/libarchive/get_header_ar.c
+++ b/archival/libarchive/get_header_ar.c
@@ -59,6 +59,11 @@ char FAST_FUNC get_header_ar(archive_handle_t *archive_handle)
if (ar.formatted.magic[0] != '`' || ar.formatted.magic[1] != '\n')
bb_error_msg_and_die("invalid ar header");
+ /*
+ * Note that the fields MUST be read in reverse order as
+ * read_num() clobbers the next byte after the field!
+ * Order is: name, date, uid, gid, mode, size, magic.
+ */
typed->size = size = read_num(ar.formatted.size, 10,
sizeof(ar.formatted.size));
@@ -91,8 +96,6 @@ char FAST_FUNC get_header_ar(archive_handle_t *archive_handle)
/* Only size is always present, the rest may be missing in
* long filename pseudo file. Thus we decode the rest
* after dealing with long filename pseudo file.
- * Note that the fields MUST be read in reverse order as
- * read_num() clobbers the next byte after the field!
*/
typed->mode = read_num(ar.formatted.mode, 8, sizeof(ar.formatted.mode));
typed->gid = read_num(ar.formatted.gid, 10, sizeof(ar.formatted.gid));