rem: proc_t *best = NULL; proc_t *secondbest = NULL;
add: const proc_t *best = NULL; const proc_t *secondbest = NULL;
context: static proc_t *getproc(const utmp_t *restrict const u, const char *restrict const tty, const unsigned long long *restrict jcpu, const int *restrict found_utpid) {    int line;    proc_t **pptr = procs;    proc_t *best = NULL;    proc_t *secondbest = NULL;    unsigned uid = ~0U;    if(!ignoreuser){	char buf[UT_NAMESIZE+1];	struct passwd *passwd_data;   /* pointer to static data */	strncpy(buf,u->ut_user,UT_NAMESIZE);	buf[UT_NAMESIZE] = '\0';	passwd_data = getpwnam(buf);	if(!passwd_data) return NULL;	uid = passwd_data->pw_uid;	/* OK to have passwd_data go out of scope here */    }    line = tty_to_dev(tty);    *jcpu = 0;    *found_utpid = 0;    for(; *pptr; pptr++) {	const proc_t *restrict const tmp = *pptr;	if(tmp->pid == u->ut_pid) {	    *found_utpid = 1;	    best = tmp;	}	if(tmp->tty != line) continue;	(*jcpu) += tmp->utime + tmp->stime;	secondbest = tmp;	/* same time-logic here as for "best" below */	if(!  (secondbest && tmp->start_time <= secondbest->start_time)  ){	    secondbest = tmp;	}	if(!ignoreuser && uid != tmp->euid && uid != tmp->ruid) continue;	if(tmp->pid != tmp->tpgid) continue;	if(best && tmp->start_time <= best->start_time) continue;    	best = tmp;    }    return best ? best : secondbest;}