--- fileio.c | 2 +- utmp.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) Index: screen-4.0.3/fileio.c =================================================================== --- screen-4.0.3.orig/fileio.c +++ screen-4.0.3/fileio.c @@ -779,7 +779,7 @@ char *cmd; #ifdef SIGPIPE signal(SIGPIPE, SIG_DFL); #endif - execl("/bin/sh", "sh", "-c", cmd, 0); + execl("/bin/sh", "sh", "-c", cmd, (char*)0); Panic(errno, "/bin/sh"); default: break; Index: screen-4.0.3/utmp.c =================================================================== --- screen-4.0.3.orig/utmp.c +++ screen-4.0.3/utmp.c @@ -604,6 +604,7 @@ struct utmp *u; char *line, *user; int pid; { + time_t t; u->ut_type = USER_PROCESS; strncpy(u->ut_user, user, sizeof(u->ut_user)); /* Now the tricky part... guess ut_id */ @@ -618,7 +619,8 @@ int pid; #endif /* sgi */ strncpy(u->ut_line, line, sizeof(u->ut_line)); u->ut_pid = pid; - (void)time((time_t *)&u->ut_time); + (void)time(&t); + u->ut_time = t; } static slot_t @@ -726,9 +728,11 @@ struct utmp *u; char *line, *user; int pid; { + time_t t; strncpy(u->ut_line, line, sizeof(u->ut_line)); strncpy(u->ut_name, user, sizeof(u->ut_name)); - (void)time((time_t *)&u->ut_time); + (void)time(&t); + u->ut_time = t; } static slot_t