int chdir(const char *pathname) {
    static int (*real_chdir)(const char *pathname) = NULL;
    const char *p;
    int ret;

    GET_PATH(chdir);
    if (p) {
	ret = real_chdir(p);
	PUT_PATH(-1);
    }
    return real_chdir(pathname);
}
Exemple #2
0
int chdir(const char *path)
{
    if (!action_lstat(path)) {
        errno = ENOENT;
        return -1;
    }

    int ret = real_chdir(path);

    if (ret < 0)
        die("chdirs(\"%s\") failed: %s", path, strerror(errno)); 

    return ret;
}