From 4640a0506a0131c3d8177b6ed36e200f8b3fe0bc Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Fri, 26 Feb 2016 14:51:15 +0000
Subject: Haiku patch


diff --git a/arscan.c b/arscan.c
index 549fe1e..17430f5 100644
--- a/arscan.c
+++ b/arscan.c
@@ -331,7 +331,7 @@ ar_scan (const char *archive, ar_member_func_t function, const void *varg)
 #endif
 
 #ifndef WINDOWS32
-# if !defined (__ANDROID__) && !defined (__BEOS__)
+# if !defined (__ANDROID__) && !defined (__BEOS__) && !defined (__HAIKU__)
 #  include <ar.h>
 # else
    /* These platforms don't have <ar.h> but have archives in the same format
-- 
2.30.2


From 265416e233141f66e2a5cdf9c06e4a5e1e52bf48 Mon Sep 17 00:00:00 2001
From: David Karoly <david.karoly@outlook.com>
Date: Sun, 21 Nov 2021 15:36:01 +0000
Subject: fix build


diff --git a/dir.c b/dir.c
index f34bbf5..984f863 100644
--- a/dir.c
+++ b/dir.c
@@ -1222,7 +1222,7 @@ read_dirstream (__ptr_t stream)
           /* The glob interface wants a 'struct dirent', so mock one up.  */
           struct dirent *d;
           unsigned int len = df->length + 1;
-          unsigned int sz = sizeof (*d) - sizeof (d->d_name) + len;
+          unsigned int sz = offsetof (struct dirent, d_name) + len;
           if (sz > bufsz)
             {
               bufsz *= 2;
-- 
2.30.2

