]> arthur.barton.de Git - netatalk.git/commitdiff
Portability fix, preventing crash on FreeBSD
authorFrank Lahm <franklahm@googlemail.com>
Sun, 29 Apr 2012 18:37:04 +0000 (20:37 +0200)
committerFrank Lahm <franklahm@googlemail.com>
Sun, 29 Apr 2012 18:37:04 +0000 (20:37 +0200)
NEWS
libatalk/adouble/ad_open.c

diff --git a/NEWS b/NEWS
index 78318eab94c31cb49ec4a2540d2aa940386d1920..2806adce8a00d35693ca3b009910831a7f02c850 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,7 @@
 Changes in 3.0.1
 ================
 * FIX: afpd: Fix a Solaris 10 SPARC sendfilev bug
+* FIX: afpd: Fix a crash on FreeBSD
 * FIX: Fix possible alignment violations due to bad casts
 * FIX: dbd: Fix logging
 * UPD: Install relevant includes necessary for building programs with
index c02121ac0d1be8271e6c406418e9e4f9e8525cdc..98ec4c7f9182cd49e27fa0962be2d0a486aad521 100644 (file)
@@ -1642,7 +1642,7 @@ int ad_open(struct adouble *ad, const char *path, int adflags, ...)
 
     va_start(args, adflags);
     if (adflags & ADFLAGS_CREATE)
-        mode = va_arg(args, mode_t);
+        mode = (sizeof(mode_t) < sizeof(int) ? va_arg (args, int) : va_arg (args, mode_t));
     va_end(args);
 
     if (adflags & ADFLAGS_DF) {
@@ -1810,7 +1810,7 @@ int ad_openat(struct adouble  *ad,
 
     va_start(args, adflags);
     if (adflags & ADFLAGS_CREATE)
-        mode = va_arg(args, mode_t);
+        mode = (sizeof(mode_t) < sizeof(int) ? va_arg (args, int) : va_arg (args, mode_t));
     va_end(args);
 
     EC_NEG1( ad_open(ad, path, adflags, mode) );