]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: Make dollar_expand variadic and pass a real va_list to
authordtucker@openbsd.org <dtucker@openbsd.org>
Fri, 29 May 2020 11:17:56 +0000 (11:17 +0000)
committerDarren Tucker <dtucker@dtucker.net>
Fri, 29 May 2020 11:53:37 +0000 (21:53 +1000)
vdollar_percent_expand. Fixes build error on arm64 spotted by otto@.

OpenBSD-Commit-ID: 181910d7ae489f40ad609b4cf4a20f3d068a7279

misc.c
misc.h

diff --git a/misc.c b/misc.c
index 9ba913c3ef8e2cc13d436c611e9f9f5ab6ec9a12..f29e9bc3aa564ec28ede5088e0f188507f3ce8bc 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: misc.c,v 1.151 2020/05/29 09:02:44 dtucker Exp $ */
+/* $OpenBSD: misc.c,v 1.152 2020/05/29 11:17:56 dtucker Exp $ */
 /*
  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
  * Copyright (c) 2005-2020 Damien Miller.  All rights reserved.
@@ -1207,13 +1207,22 @@ vdollar_percent_expand(int *parseerror, int dollar, int percent,
 #undef EXPAND_MAX_KEYS
 }
 
+/*
+ * Expand only environment variables.
+ * Note that although this function is variadic like the other similar
+ * functions, any such arguments will be unused.
+ */
+
 char *
-dollar_expand(int *parseerr, const char *string)
+dollar_expand(int *parseerr, const char *string, ...)
 {
        char *ret;
        int err;
+       va_list ap;
 
-       ret = vdollar_percent_expand(&err, 1, 0, string, NULL);
+       va_start(ap, string);
+       ret = vdollar_percent_expand(&err, 1, 0, string, ap);
+       va_end(ap);
        if (parseerr != NULL)
                *parseerr = err;
        return ret;
diff --git a/misc.h b/misc.h
index 7e9f5ac199cebc3f9242ccd0ce8f396e8b474d41..ab94a79c0e03c670ca782eb24e1fc3700be4347c 100644 (file)
--- a/misc.h
+++ b/misc.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: misc.h,v 1.86 2020/05/29 04:25:40 dtucker Exp $ */
+/* $OpenBSD: misc.h,v 1.87 2020/05/29 11:17:56 dtucker Exp $ */
 
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -69,7 +69,7 @@ long   convtime(const char *);
 const char *fmt_timeframe(time_t t);
 char   *tilde_expand_filename(const char *, uid_t);
 
-char   *dollar_expand(int *, const char *string);
+char   *dollar_expand(int *, const char *string, ...);
 char   *percent_expand(const char *, ...) __attribute__((__sentinel__));
 char   *percent_dollar_expand(const char *, ...) __attribute__((__sentinel__));
 char   *tohex(const void *, size_t);