123186636fcb261d263f417e605cbe8b7e2103ca5Rob Landley/* pwdx.c - report current directory of a process. 223186636fcb261d263f417e605cbe8b7e2103ca5Rob Landley * 323186636fcb261d263f417e605cbe8b7e2103ca5Rob Landley * Copyright 2013 Lukasz Skalski <l.skalski@partner.samsung.com> 423186636fcb261d263f417e605cbe8b7e2103ca5Rob Landley 523186636fcb261d263f417e605cbe8b7e2103ca5Rob LandleyUSE_PWDX(NEWTOY(pwdx, "<1a", TOYFLAG_USR|TOYFLAG_BIN)) 623186636fcb261d263f417e605cbe8b7e2103ca5Rob Landley 723186636fcb261d263f417e605cbe8b7e2103ca5Rob Landleyconfig PWDX 823186636fcb261d263f417e605cbe8b7e2103ca5Rob Landley bool "pwdx" 923186636fcb261d263f417e605cbe8b7e2103ca5Rob Landley default y 1023186636fcb261d263f417e605cbe8b7e2103ca5Rob Landley help 117f8f9ec5113bff8c0f7bd3e9341b688d8af91258Rob Landley usage: pwdx PID... 127f8f9ec5113bff8c0f7bd3e9341b688d8af91258Rob Landley 137f8f9ec5113bff8c0f7bd3e9341b688d8af91258Rob Landley Print working directory of processes listed on command line. 1423186636fcb261d263f417e605cbe8b7e2103ca5Rob Landley*/ 1523186636fcb261d263f417e605cbe8b7e2103ca5Rob Landley 1623186636fcb261d263f417e605cbe8b7e2103ca5Rob Landley#include "toys.h" 1723186636fcb261d263f417e605cbe8b7e2103ca5Rob Landley 1823186636fcb261d263f417e605cbe8b7e2103ca5Rob Landleyvoid pwdx_main(void) 1923186636fcb261d263f417e605cbe8b7e2103ca5Rob Landley{ 206db8529a785e2cab142e840b6e3fbdcc2c02dd1fRob Landley char **optargs; 216db8529a785e2cab142e840b6e3fbdcc2c02dd1fRob Landley 226db8529a785e2cab142e840b6e3fbdcc2c02dd1fRob Landley for (optargs = toys.optargs; *optargs; optargs++) { 2346409d50e5632b28b88cfa4991fffef9adaa490dRob Landley char *path = toybuf; 247f8f9ec5113bff8c0f7bd3e9341b688d8af91258Rob Landley 2546409d50e5632b28b88cfa4991fffef9adaa490dRob Landley sprintf(toybuf, "/proc/%d/cwd", atoi(*optargs)); 2646409d50e5632b28b88cfa4991fffef9adaa490dRob Landley if (!readlink0(path, toybuf, sizeof(toybuf))) { 277f8f9ec5113bff8c0f7bd3e9341b688d8af91258Rob Landley path = strerror(errno); 287f8f9ec5113bff8c0f7bd3e9341b688d8af91258Rob Landley toys.exitval = 1; 297f8f9ec5113bff8c0f7bd3e9341b688d8af91258Rob Landley } 3046409d50e5632b28b88cfa4991fffef9adaa490dRob Landley 316db8529a785e2cab142e840b6e3fbdcc2c02dd1fRob Landley xprintf("%s: %s\n", *optargs, path); 327f8f9ec5113bff8c0f7bd3e9341b688d8af91258Rob Landley } 3323186636fcb261d263f417e605cbe8b7e2103ca5Rob Landley} 34