--- netkit-telnet-0.17-pre-20000204/telnet/commands.c.env Thu Apr 8 19:30:20 1999 +++ netkit-telnet-0.17-pre-20000204/telnet/commands.c Tue May 16 17:19:47 2000 @@ -1815,11 +1815,11 @@ } unsigned char * -env_getvalue(unsigned char *var) +env_getvalue(unsigned char *var, int exported_only) { - struct env_lst *ep; + struct env_lst *ep = env_find(var); - if ((ep = env_find(var))) + if (ep && (!exported_only || ep->export)) return(ep->value); return(NULL); } --- netkit-telnet-0.17-pre-20000204/telnet/telnet.c.env Tue May 16 17:19:47 2000 +++ netkit-telnet-0.17-pre-20000204/telnet/telnet.c Tue May 16 17:19:47 2000 @@ -438,7 +438,7 @@ #endif case TELOPT_XDISPLOC: /* X Display location */ - if (env_getvalue((unsigned char *)"DISPLAY")) + if (env_getvalue((unsigned char *)"DISPLAY", 0)) new_state_ok = 1; break; @@ -693,7 +693,7 @@ resettermname = 0; if (tnamep && tnamep != unknown) free(tnamep); - if ((tname = (char *)env_getvalue((unsigned char *)"TERM")) && + if ((tname = (char *)env_getvalue((unsigned char *)"TERM", 0)) && (setupterm(tname, 1, &errret) == 0)) { tnamep = mklist(ttytype, tname); } else { @@ -870,7 +870,7 @@ unsigned char temp[50], *dp; int len; - if ((dp = env_getvalue((unsigned char *)"DISPLAY")) == NULL) { + if ((dp = env_getvalue((unsigned char *)"DISPLAY", 0)) == NULL) { /* * Something happened, we no longer have a DISPLAY * variable. So, turn off the option. @@ -1527,7 +1527,7 @@ env_opt_add(ep); return; } - vp = env_getvalue(ep); + vp = env_getvalue(ep, 1); if (opt_replyp + (vp ? strlen((char *)vp) : 0) + strlen((char *)ep) + 6 > opt_replyend) { @@ -2170,7 +2170,7 @@ send_will(TELOPT_LINEMODE, 1); send_will(TELOPT_NEW_ENVIRON, 1); send_do(TELOPT_STATUS, 1); - if (env_getvalue((unsigned char *)"DISPLAY")) + if (env_getvalue((unsigned char *)"DISPLAY", 0)) send_will(TELOPT_XDISPLOC, 1); if (binary) tel_enter_binary(binary); --- netkit-telnet-0.17-pre-20000204/telnet/externs.h.env Mon Feb 8 15:56:11 1999 +++ netkit-telnet-0.17-pre-20000204/telnet/externs.h Tue May 16 17:19:47 2000 @@ -203,7 +203,7 @@ void env_send (unsigned char *); void env_list (void); unsigned char * env_default(int init, int welldefined); -unsigned char * env_getvalue(unsigned char *var); +unsigned char * env_getvalue(unsigned char *var, int exported_only); void set_escape_char(char *s); unsigned long sourceroute(char *arg, char **cpp, int *lenp); @@ -335,7 +335,7 @@ void env_opt_end (int); unsigned char *env_default (int, int); -unsigned char *env_getvalue (unsigned char *); +unsigned char *env_getvalue (unsigned char *, int); int get_status (void); int dosynch (void);