blob: c60b94673dd2fde7d771e652073890c1e9c8b79d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#if defined(__OpenBSD__)
#include <sys/sysctl.h>
#endif
int
subprocwd(char *path)
{
#if defined(__linux)
if (snprintf(path, PATH_MAX, "/proc/%d/cwd", pid) < 0)
return -1;
return 0;
#elif defined(__OpenBSD__)
size_t sz = PATH_MAX;
int name[3] = {CTL_KERN, KERN_PROC_CWD, pid};
if (sysctl(name, 3, path, &sz, 0, 0) == -1)
return -1;
return 0;
#endif
}
|