rem: int num;
add: unsigned num;
context: static void stat2proc(const char* S, proc_t *restrict P) {    int num;    char* tmp;    /* fill in default values for older kernels */    P->exit_signal = SIGCHLD;    P->processor = 0;    P->rtprio = -1;    P->sched = -1;    P->pid = strtol(S, &tmp, 10);    S = tmp + 2;    tmp = strrchr(S, ')');	 // split into "PID (cmd" and "<rest>"    num = tmp - S;    if(unlikely(num > sizeof P->cmd)) num = sizeof P->cmd; // 1 too big    num--;                       // ditch the ')' character    memcpy(P->cmd, S, num);    P->cmd[num] = '\0';    S = tmp + 2;                 // skip ") "    num = sscanf(S,       "%c "       "%d %d %d %d %d "       "%lu %lu %lu %lu %lu "       "%Lu %Lu %Lu %Lu "  /* utime stime cutime cstime */       "%ld %ld %ld %ld "       "%Lu "  /* start_time */       "%lu "       "%ld "       "%lu %lu %lu %lu %lu %lu "       "%*s %*s %*s %*s " /* discard, no RT signals & Linux 2.1 used hex */       "%lu %lu %lu "       "%d %d "       "%lu %lu",       &P->state,       &P->ppid, &P->pgrp, &P->session, &P->tty, &P->tpgid,       &P->flags, &P->min_flt, &P->cmin_flt, &P->maj_flt, &P->cmaj_flt,       &P->utime, &P->stime, &P->cutime, &P->cstime,       &P->priority, &P->nice, &P->timeout, &P->it_real_value,       &P->start_time,       &P->vsize,       &P->rss,       &P->rss_rlim, &P->start_code, &P->end_code, &P->start_stack, &P->kstk_esp, &P->kstk_eip,/*     P->signal, P->blocked, P->sigignore, P->sigcatch,   */ /* can't use */       &P->wchan, &P->nswap, &P->cnswap,/* -- Linux 2.0.35 ends here -- */       &P->exit_signal, &P->processor,  /* 2.2.1 ends with "exit_signal" *//* -- Linux 2.2.8 to 2.5.17 end here -- */       &P->rtprio, &P->sched  /* both added to 2.5.18 */    );}