ports/shells/ast-ksh/files/patch-src_lib_libast_hash_hashalloc.c
Piotr Kubaj 27ff8d373e shells/ast-ksh: fix build on powerpc64*
Bring back patches committed as part of r346423 to fix build issue:
/wrkdirs/usr/ports/shells/ast-ksh/work/ast-ksh93v/src/lib/libast/hash/hashalloc.c:162:4: error: non-const lvalue reference to type '__builtin_va_list' cannot bind to a temporary of type 'va_list' (aka 'char *')
                        va_copy(ap, va_listval(va_arg(ap, va_listarg)));
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/sys/_stdarg.h:49:32: note: expanded from macro 'va_copy'
    #define     va_copy(dest, src)      __va_copy(dest, src)
                                        ^~~~~~~~~~~~~~~~~~~~
/usr/include/sys/_stdarg.h:47:58: note: expanded from macro '__va_copy'
  #define       __va_copy(dest, src)    __builtin_va_copy((dest), (src))
                                                                  ^~~~~
1 error generated.

PR:	255308
Approved by:	saper@saper.info (maintainer)
2021-04-26 15:24:28 +00:00

20 lines
514 B
C

--- src/lib/libast/hash/hashalloc.c.orig 2021-04-21 15:44:15 UTC
+++ src/lib/libast/hash/hashalloc.c
@@ -49,6 +49,7 @@ hashalloc(Hash_table_t* ref, ...)
va_list* vp = va;
Hash_region_f region = 0;
void* handle;
+ va_listarg tmpval;
va_start(ap, ref);
@@ -159,7 +160,8 @@ hashalloc(Hash_table_t* ref, ...)
va_copy(ap, np);
}
#else
- va_copy(ap, va_listval(va_arg(ap, va_listarg)));
+ tmpval = va_listval(va_arg(ap, va_listarg));
+ va_copy(ap, tmpval);
#endif
break;
case 0: