blob: 988b28acc6e4080a83a77cdeded3ad997db92a2f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#include <limits.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <chad/experimental/change_directory.h>
int change_directory(char * filename) {
char path[PATH_MAX], * terminator;
if (!realpath(filename, path)
|| !(terminator = strrchr(path, '/'))) { return -1; }
*terminator = '\0';
return chdir(path);
}
|