summaryrefslogtreecommitdiff
path: root/misc.c
diff options
context:
space:
mode:
authordtucker@openbsd.org <dtucker@openbsd.org>2020-05-29 11:17:56 +0000
committerDarren Tucker <dtucker@dtucker.net>2020-05-29 21:53:37 +1000
commit712ac1efb687a945a89db6aa3e998c1a17b38653 (patch)
tree763dbf0dcc09f1137ab4bf0ed83aa921f54b5579 /misc.c
parent837ffa9699a9cba47ae7921d2876afaccc027133 (diff)
upstream: Make dollar_expand variadic and pass a real va_list to
vdollar_percent_expand. Fixes build error on arm64 spotted by otto@. OpenBSD-Commit-ID: 181910d7ae489f40ad609b4cf4a20f3d068a7279
Diffstat (limited to 'misc.c')
-rw-r--r--misc.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/misc.c b/misc.c
index 9ba913c3e..f29e9bc3a 100644
--- a/misc.c
+++ b/misc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: misc.c,v 1.151 2020/05/29 09:02:44 dtucker Exp $ */ 1/* $OpenBSD: misc.c,v 1.152 2020/05/29 11:17:56 dtucker Exp $ */
2/* 2/*
3 * Copyright (c) 2000 Markus Friedl. All rights reserved. 3 * Copyright (c) 2000 Markus Friedl. All rights reserved.
4 * Copyright (c) 2005-2020 Damien Miller. All rights reserved. 4 * Copyright (c) 2005-2020 Damien Miller. All rights reserved.
@@ -1207,13 +1207,22 @@ vdollar_percent_expand(int *parseerror, int dollar, int percent,
1207#undef EXPAND_MAX_KEYS 1207#undef EXPAND_MAX_KEYS
1208} 1208}
1209 1209
1210/*
1211 * Expand only environment variables.
1212 * Note that although this function is variadic like the other similar
1213 * functions, any such arguments will be unused.
1214 */
1215
1210char * 1216char *
1211dollar_expand(int *parseerr, const char *string) 1217dollar_expand(int *parseerr, const char *string, ...)
1212{ 1218{
1213 char *ret; 1219 char *ret;
1214 int err; 1220 int err;
1221 va_list ap;
1215 1222
1216 ret = vdollar_percent_expand(&err, 1, 0, string, NULL); 1223 va_start(ap, string);
1224 ret = vdollar_percent_expand(&err, 1, 0, string, ap);
1225 va_end(ap);
1217 if (parseerr != NULL) 1226 if (parseerr != NULL)
1218 *parseerr = err; 1227 *parseerr = err;
1219 return ret; 1228 return ret;