diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index a47b51aee79ce0c8ddc75555cfdffe9516bbc1f1..4af980cb598d4f6c0067f419aef63972850b4eb1 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -1010,6 +1010,7 @@ public: /* xtrn.cpp */ int external(const char* cmdline, long mode, const char* startup_dir=NULL); long xtrn_mode; + char term_env[256]; /* xtrn_sec.cpp */ int xtrn_sec(const char* section = ""); /* The external program section */ diff --git a/src/sbbs3/xtrn.cpp b/src/sbbs3/xtrn.cpp index 6af8443cd845090de41cf2747e1e3f8b3cf44ffd..2ae7300a388ff65550816d457c28648e69825b56 100644 --- a/src/sbbs3/xtrn.cpp +++ b/src/sbbs3/xtrn.cpp @@ -1529,11 +1529,10 @@ int sbbs_t::external(const char* cmdline, long mode, const char* startup_dir) sigfillset(&sigs); sigprocmask(SIG_UNBLOCK,&sigs,NULL); if(!(mode&EX_BIN)) { - static char term_env[256]; if(term_supports(ANSI)) - sprintf(term_env,"TERM=%s",startup->xtrn_term_ansi); + SAFEPRINTF(term_env,"TERM=%s",startup->xtrn_term_ansi); else - sprintf(term_env,"TERM=%s",startup->xtrn_term_dumb); + SAFEPRINTF(term_env,"TERM=%s",startup->xtrn_term_dumb); putenv(term_env); } #ifdef __FreeBSD__