Mercurial > hg > toybox
view toys/other/pwdx.c @ 1183:0752b2d58909 draft
Rename xmsprintf() to just xmprintf().
Partly because there's no supplied target string ala sprintf, and partly
because I can never remember what order the m and s go in.
author | Rob Landley <rob@landley.net> |
---|---|
date | Thu, 16 Jan 2014 09:26:50 -0600 |
parents | ac4a0cde89c2 |
children |
line wrap: on
line source
/* pwdx.c - report current directory of a process. * * Copyright 2013 Lukasz Skalski <l.skalski@partner.samsung.com> USE_PWDX(NEWTOY(pwdx, "<1a", TOYFLAG_USR|TOYFLAG_BIN)) config PWDX bool "pwdx" default y help usage: pwdx PID... Print working directory of processes listed on command line. */ #include "toys.h" void pwdx_main(void) { char **optargs; for (optargs = toys.optargs; *optargs; optargs++) { char *path; int num_bytes; path = xmprintf("/proc/%s/cwd", *optargs); num_bytes = readlink(path, toybuf, sizeof(toybuf)-1); free(path); if (num_bytes==-1) { path = strerror(errno); toys.exitval = 1; } else { path = toybuf; toybuf[num_bytes] = 0; } xprintf("%s: %s\n", *optargs, path); } }