История изменений
Исправление sanwashere, (текущая версия) :
man 2 openat
int openat(int dirfd, const char *pathname, int flags, mode_t mode);
...
Если в pathname задан относительный путь и dirfd равно специальному значению AT_FDCWD, то pathname рассматривается относительно текущего рабочего каталога вызывающего процесса (как open(2)).
И сам AT_FDCWD:
$ echo '#include <fcntl.h>' | gcc -E -dM -x c - | grep AT_FDCWD
#define AT_FDCWD -100
Исходная версия sanwashere, :
man 2 openat
int openat(int dirfd, const char *pathname, int flags, mode_t mode);
...
Если в pathname задан относительный путь и dirfd равно специальному значению AT_FDCWD, то pathname рассматривается относительно текущего рабочего каталога вызывающего процесса (как open(2)).