From 23186636fcb261d263f417e605cbe8b7e2103ca5 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Mon, 2 Sep 2013 05:06:05 -0500 Subject: pwdx by Lukasz Skalski. --- toys/other/pwdx.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 toys/other/pwdx.c (limited to 'toys/other/pwdx.c') diff --git a/toys/other/pwdx.c b/toys/other/pwdx.c new file mode 100644 index 00000000..c3f134f7 --- /dev/null +++ b/toys/other/pwdx.c @@ -0,0 +1,40 @@ +/* pwdx.c - report current directory of a process. + * + * Copyright 2013 Lukasz Skalski + +USE_PWDX(NEWTOY(pwdx, "<1a", TOYFLAG_USR|TOYFLAG_BIN)) + +config PWDX + bool "pwdx" + default y + help + usage: pwdx pids ... +*/ + +#include "toys.h" + +int pid_dir(char *pid) +{ + char *path; + int num_bytes; + + path = xmsprintf("/proc/%s/cwd",pid); + num_bytes = readlink(path,toybuf,sizeof(toybuf)); + if(num_bytes==-1){ + xprintf("%s: %s\n",pid,strerror(errno)); + return 1; + }else{ + toybuf[num_bytes]='\0'; + xprintf("%s: %s\n",pid,toybuf); + return 0; + } +} + +void pwdx_main(void) +{ + int i; + + for (i=0; toys.optargs[i]; i++) + toys.exitval |= pid_dir(toys.optargs[i]); +} + -- cgit v1.2.3