*** ./misc.c.ORIG Wed Nov 14 20:13:43 2018 --- ./misc.c Wed Nov 14 20:14:04 2018 *************** *** 156,161 **** --- 156,168 ---- } } + #ifndef ULLONG_MAX + #if defined(__64BIT__) + #define ULLONG_MAX (18446744073709551615ULL) + #else + #define ULLONG_MAX ULONG_MAX + #endif + #endif time_t getTimeNow(time_t *now) { *** ./privileges.c.ORIG Wed Nov 14 20:14:58 2018 --- ./privileges.c Wed Nov 14 20:15:40 2018 *************** *** 157,162 **** --- 157,200 ---- return ruid; } + /*************************************************************************** + unsetenv() + ****************************************************************************/ + + #if defined(_AIX) && !defined(_AIX52) + 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 + void init_privs(void) { euid = geteuid();