# HG changeset patch # User fidomax # Date 1629388192 -10800 # Node ID 1edf4f143e12d2b0d3a15ddbca9a38425e58e77e # Parent 401d7d8c8a79b816e57cfcd9606fc287ebf8ca8b keep LANG env variable for child process (#111) diff -r 401d7d8c8a79 -r 1edf4f143e12 svr-chansession.c --- a/svr-chansession.c Thu Aug 19 18:40:58 2021 +0300 +++ b/svr-chansession.c Thu Aug 19 18:49:52 2021 +0300 @@ -931,6 +931,11 @@ static void execchild(const void *user_data) { const struct ChanSess *chansess = user_data; char *usershell = NULL; + char *cp = NULL; + char *envcp = getenv("LANG"); + if (envcp != NULL) { + cp = m_strdup(envcp); + } /* with uClinux we'll have vfork()ed, so don't want to overwrite the * hostkey. can't think of a workaround to clear it */ @@ -991,6 +996,10 @@ addnewvar("HOME", ses.authstate.pw_dir); addnewvar("SHELL", get_user_shell()); addnewvar("PATH", DEFAULT_PATH); + if (cp != NULL) { + addnewvar("LANG", cp); + m_free(cp); + } if (chansess->term != NULL) { addnewvar("TERM", chansess->term); }