summaryrefslogtreecommitdiff
path: root/arscan.c
diff options
context:
space:
mode:
Diffstat (limited to 'arscan.c')
-rw-r--r--arscan.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/arscan.c b/arscan.c
index 2b90705..5cadbe6 100644
--- a/arscan.c
+++ b/arscan.c
@@ -232,7 +232,25 @@ ar_scan (archive, function, arg)
#endif
#ifndef WINDOWS32
-# include <ar.h>
+# ifndef __BEOS__
+# include <ar.h>
+# else
+ /* BeOS 5 doesn't have <ar.h> but has archives in the same format
+ * as many other Unices. This was taken from GNU binutils for BeOS.
+ */
+# define ARMAG "!<arch>\n" /* String that begins an archive file. */
+# define SARMAG 8 /* Size of that string. */
+# define ARFMAG "`\n" /* String in ar_fmag at end of each header. */
+struct ar_hdr
+ {
+ char ar_name[16]; /* Member file name, sometimes / terminated. */
+ char ar_date[12]; /* File date, decimal seconds since Epoch. */
+ char ar_uid[6], ar_gid[6]; /* User and group IDs, in ASCII decimal. */
+ char ar_mode[8]; /* File mode, in ASCII octal. */
+ char ar_size[10]; /* File size, in ASCII decimal. */
+ char ar_fmag[2]; /* Always contains ARFMAG. */
+ };
+# endif
#else
/* These should allow us to read Windows (VC++) libraries (according to Frank
* Libbrecht <frankl@abzx.belgium.hp.com>)