summaryrefslogtreecommitdiff
path: root/misc.c
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2021-06-04 05:02:40 +0000
committerDamien Miller <djm@mindrot.org>2021-06-04 15:04:52 +1000
commitf64f8c00d158acc1359b8a096835849b23aa2e86 (patch)
treeeef8af74cd0e2b6a89e95c07425c20e93e3990f3 /misc.c
parent60107677dc0ce1e93c61f23c433ad54687fcd9f5 (diff)
downloadopenssh-git-f64f8c00d158acc1359b8a096835849b23aa2e86.tar.gz
upstream: allow ssh_config SetEnv to override $TERM, which is otherwise
handled specially by the protocol. Useful in ~/.ssh/config to set TERM to something generic (e.g. "xterm" instead of "xterm-256color") for destinations that lack terminfo entries. feedback and ok dtucker@ OpenBSD-Commit-ID: 38b1ef4d5bc159c7d9d589d05e3017433e2d5758
Diffstat (limited to 'misc.c')
-rw-r--r--misc.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/misc.c b/misc.c
index 36f26ccb..78fb1e00 100644
--- a/misc.c
+++ b/misc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: misc.c,v 1.164 2021/04/03 06:18:40 djm Exp $ */
+/* $OpenBSD: misc.c,v 1.165 2021/06/04 05:02:40 djm Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
* Copyright (c) 2005-2020 Damien Miller. All rights reserved.
@@ -2671,3 +2671,18 @@ subprocess(const char *tag, const char *command,
*child = f;
return pid;
}
+
+const char *
+lookup_env_in_list(const char *env, char * const *envs, size_t nenvs)
+{
+ size_t i, envlen;
+
+ envlen = strlen(env);
+ for (i = 0; i < nenvs; i++) {
+ if (strncmp(envs[i], env, envlen) == 0 &&
+ envs[i][envlen] == '=') {
+ return envs[i] + envlen + 1;
+ }
+ }
+ return NULL;
+}