*** ./main.c.ORIG Thu Aug 25 09:38:09 2011 --- ./main.c Thu Aug 25 09:39:27 2011 *************** *** 3162,3167 **** --- 3162,3207 ---- #define USE_NO_DEV_TTY 0 #endif + + /*************************************************************************** + unsetenv() + ****************************************************************************/ + + #ifdef _AIX51 + int + unsetenv( const char *name ) + { + size_t len; + char **ep; + + if ((name == NULL) || (*name == '\0') || (strchr( name, '=' ) != NULL)) + { + errno = EINVAL; + return( -1 ); + } + + len = strlen( name ); + + ep = environ; + while (*ep != NULL) + if (! strncmp( *ep, name, len ) && (*ep)[len] == '=') + { + /* Found it. Remove this pointer by moving later ones back. */ + char **dp = ep; + + do + dp[0] = dp[1]; + while (*dp++); + /* Continue the loop in case NAME appears again. */ + } + else + ++ep; + + return( 0 ); + } + #endif + + /* * Inits pty and tty and forks a login process. * Does not close fd Xsocket. *** ./xterm.h.ORIG Fri Aug 28 16:36:37 2020 --- ./xterm.h Fri Aug 28 16:37:26 2020 *************** *** 1198,1203 **** --- 1198,1206 ---- extern void timestamp_filename(char * /* dst */, const char * /* src */); extern void update_winsize(int /* fd */, int /* rows */, int /* cols */, int /* height */, int /* width */); extern void xevents (XtermWidget /* xw */); + #ifndef _X_NORETURN + #define _X_NORETURN + #endif extern void xt_error (String /* message */) GCC_NORETURN; extern void xtermBell(XtermWidget /* xw */, int /* which */, int /* percent */); extern void xtermCopyEnv (char ** /* oldenv */);