summaryrefslogtreecommitdiff
path: root/sysutils/fcron/files/patch-subs.c
blob: bee359d4e40ef6bd230a392d6813b7d0e2381b55 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
--- subs.c.orig	2011-07-18 17:28:21.745080904 +0400
+++ subs.c	2011-07-18 19:39:18.999087202 +0400
@@ -121,7 +121,11 @@
 
     if (flags & O_CREAT) {
         va_start(ap, flags);
-        mode = va_arg(ap, mode_t);
+        /* Beware: default argument promotion. */
+        if (sizeof(int) > sizeof(mode_t))
+        	mode = va_arg(ap, int);
+        else
+        	mode = va_arg(ap, mode_t);
         va_end(ap);
     }
 
@@ -179,7 +183,11 @@
 
     if (flags & O_CREAT) {
         va_start(ap, flags);
-        mode = va_arg(ap, mode_t);
+        /* Beware: default argument promotion. */
+        if (sizeof(int) > sizeof(mode_t))
+        	mode = va_arg(ap, int);
+        else
+        	mode = va_arg(ap, mode_t);
         va_end(ap);
     }