Description: Alterado parsing do uid para compatibilidade com usernames numéricos. Alterado parsing do uid para compatibilidade com usernames numéricos, como os utilizados pelo SERPRO (CPF). Este patch permite o uso do vagrant. Author: Cadu Ellery (SERPRO/SUPOP/OPFLA) --- procps-3.2.8.orig/ps/parser.c +++ procps-3.2.8/ps/parser.c @@ -89,13 +89,16 @@ static const char *parse_uid(char *str, unsigned long num; static const char uidrange[] = "User ID out of range."; static const char uidexist[] = "User name does not exist."; - num = strtoul(str, &endp, 0); - if(*endp != '\0'){ /* hmmm, try as login name */ - passwd_data = getpwnam(str); - if(!passwd_data) return uidexist; - num = passwd_data->pw_uid; - } - if(num > 0xfffffffeUL) return uidrange; + passwd_data = getpwnam(str); + if(!passwd_data) { + num = strtoul(str, &endp, 0); + if(*endp != '\0'){ /* hmmm, try as login name */ + passwd_data = getpwnam(str); + if(!passwd_data) return uidexist; + num = passwd_data->pw_uid; + } + if(num > 0xfffffffeUL) return uidrange; + } else num = passwd_data->pw_uid; ret->uid = num; return 0; }