From 0006f718b62316336a9f27a008ea8525173a5b56 Mon Sep 17 00:00:00 2001 From: midipix Date: Sun, 18 Feb 2024 17:06:27 +0000 Subject: slbt_get_archive_meta(): check whether all object members share binary format. --- src/arbits/slbt_archive_meta.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/arbits/slbt_archive_meta.c') diff --git a/src/arbits/slbt_archive_meta.c b/src/arbits/slbt_archive_meta.c index f3dd39e..7279602 100644 --- a/src/arbits/slbt_archive_meta.c +++ b/src/arbits/slbt_archive_meta.c @@ -842,6 +842,18 @@ int slbt_get_archive_meta( if (m->memberv[idx]->ar_member_data == arlongnames) m->armeta.a_arref_longnames = m->memberv[idx]; + /* common binary format (information only) */ + for (idx=0,nmembers=0; idxmemberv[idx]->ar_member_attr == AR_MEMBER_ATTR_OBJECT) { + if (m->ofmtattr && (m->ofmtattr != m->memberv[idx]->ar_object_attr)) { + m->ofmtattr = 0; + idx = nentries; + } else if (!m->ofmtattr) { + m->ofmtattr = m->memberv[idx]->ar_object_attr; + } + } + } + /* member vector */ m->armeta.a_memberv = m->memberv; -- cgit v1.2.3