uid_t userId = getuid(); userId = 999; // cause error errno = 0; passwd* pw = getpwuid(userId); int n = errno; // pw = NULL, n = 0
Запустив этот код в Linux, я получаю pw = NULL (ожидаемый) и errno = 0. Согласно документации Linux http://linuxmanpages.com/man3/getpwuid.3.php, getpwuid должен установить errno. Что случилось?