diff options
author | Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org> | 2016-10-28 15:08:14 +0000 |
---|---|---|
committer | Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org> | 2016-10-28 15:08:14 +0000 |
commit | 22bf4d7140b08473d923815400d291ac8161f040 (patch) | |
tree | b4b7f2ea7aaf7dcf8d09ddde9c8202ecf66a916f /shells | |
parent | 70e551ad4681789e17f2c546728297fbcf3804b9 (diff) |
Notes
Diffstat (limited to 'shells')
3 files changed, 29 insertions, 31 deletions
diff --git a/shells/ksh93/files/patch-src-lib-libast-features-wchar b/shells/ksh93/files/patch-src-lib-libast-features-wchar index d0a45e7244eb..8982766e9f58 100644 --- a/shells/ksh93/files/patch-src-lib-libast-features-wchar +++ b/shells/ksh93/files/patch-src-lib-libast-features-wchar @@ -1,6 +1,6 @@ ---- src/lib/libast/features/wchar.orig 2012-01-12 15:40:22.000000000 +0800 -+++ src/lib/libast/features/wchar 2012-06-12 10:05:37.278869903 +0800 -@@ -51,6 +51,7 @@ +--- src/lib/libast/features/wchar.orig 2012-01-12 07:40:22 UTC ++++ src/lib/libast/features/wchar +@@ -51,6 +51,7 @@ endif run{ cat <<! #if _hdr_wchar && defined(_nxt_wchar) diff --git a/shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c b/shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c index ca44cd98e048..a2dfed265643 100644 --- a/shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c +++ b/shells/ksh93/files/patch-src-lib-libast-hash-hashalloc.c @@ -1,20 +1,19 @@ ---- src/lib/libast/hash/hashalloc.c.orig 2013-12-28 22:09:43.000000000 +0100 -+++ src/lib/libast/hash/hashalloc.c 2013-12-28 22:43:14.000000000 +0100 -@@ -49,6 +49,7 @@ - va_list* vp = va; - Hash_region_f region = 0; - void* handle; -+ va_listarg tmpval; - - va_start(ap, ref); - -@@ -151,7 +152,8 @@ +--- src/lib/libast/hash/hashalloc.c.orig 2006-11-07 22:29:04 UTC ++++ src/lib/libast/hash/hashalloc.c +@@ -151,7 +151,16 @@ hashalloc(Hash_table_t* ref, ...) va_copy(*vp, ap); vp++; } -- va_copy(ap, va_listval(va_arg(ap, va_listarg))); -+ tmpval = va_listval(va_arg(ap, va_listarg)); -+ va_copy(ap, tmpval); ++#if __clang__ && __SIZEOF_POINTER__ == 4 ++ { ++ va_list np; ++ ++ np = va_listval(va_arg(ap, va_listarg)); ++ va_copy(ap, np); ++ } ++#else + va_copy(ap, va_listval(va_arg(ap, va_listarg))); ++#endif break; case 0: if (vp > va) diff --git a/shells/ksh93/files/patch-src-lib-libast-string-tokscan.c b/shells/ksh93/files/patch-src-lib-libast-string-tokscan.c index 2837965d311f..8f1c5037b3d5 100644 --- a/shells/ksh93/files/patch-src-lib-libast-string-tokscan.c +++ b/shells/ksh93/files/patch-src-lib-libast-string-tokscan.c @@ -1,20 +1,19 @@ ---- ./src/lib/libast/string/tokscan.c.orig 2013-12-28 22:16:20.000000000 +0100 -+++ ./src/lib/libast/string/tokscan.c 2013-12-28 22:43:28.000000000 +0100 -@@ -188,6 +188,7 @@ - char** p_string; - char* prv_f = 0; - va_list prv_ap; -+ va_listarg tmpval; - - va_start(ap, fmt); - if (!*s || *s == '\n') -@@ -233,7 +234,8 @@ +--- src/lib/libast/string/tokscan.c.orig 2006-11-07 22:29:31 UTC ++++ src/lib/libast/string/tokscan.c +@@ -233,7 +233,16 @@ tokscan(register char* s, char** nxt, co prv_f = f; f = va_arg(ap, char*); va_copy(prv_ap, ap); -- va_copy(ap, va_listval(va_arg(ap, va_listarg))); -+ tmpval = va_listval(va_arg(ap, va_listarg)); -+ va_copy(ap, tmpval); ++#if __clang__ && __SIZEOF_POINTER__ == 4 ++ { ++ va_list np; ++ ++ np = va_listval(va_arg(ap, va_listarg)); ++ va_copy(ap, np); ++ } ++#else + va_copy(ap, va_listval(va_arg(ap, va_listarg))); ++#endif continue; case 'c': p_char = va_arg(ap, char*); |