diff options
-rw-r--r-- | misc.c | 15 | ||||
-rw-r--r-- | misc.h | 4 |
2 files changed, 14 insertions, 5 deletions
@@ -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 | |||
1210 | char * | 1216 | char * |
1211 | dollar_expand(int *parseerr, const char *string) | 1217 | dollar_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; |
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: misc.h,v 1.86 2020/05/29 04:25:40 dtucker Exp $ */ | 1 | /* $OpenBSD: misc.h,v 1.87 2020/05/29 11:17:56 dtucker Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -69,7 +69,7 @@ long convtime(const char *); | |||
69 | const char *fmt_timeframe(time_t t); | 69 | const char *fmt_timeframe(time_t t); |
70 | char *tilde_expand_filename(const char *, uid_t); | 70 | char *tilde_expand_filename(const char *, uid_t); |
71 | 71 | ||
72 | char *dollar_expand(int *, const char *string); | 72 | char *dollar_expand(int *, const char *string, ...); |
73 | char *percent_expand(const char *, ...) __attribute__((__sentinel__)); | 73 | char *percent_expand(const char *, ...) __attribute__((__sentinel__)); |
74 | char *percent_dollar_expand(const char *, ...) __attribute__((__sentinel__)); | 74 | char *percent_dollar_expand(const char *, ...) __attribute__((__sentinel__)); |
75 | char *tohex(const void *, size_t); | 75 | char *tohex(const void *, size_t); |