Mercurial > hg > toybox
view toys/realpath.c @ 551:2548e6e590b2
Add string to mode_t parser
added new function string_to_mode(char *m_string, mode_t base) which
parses a given string and converts it to a mode_t.
If either + or - are part of m_string the permissions are either
added or removed from base.
Currently support for permision copy is missing (e.g. g=u),
but all other flags should work.
Format for m_string: either symbolic modes or octal representation.
symbolic modes:
[auog][[+-=][rwxst]*]
examples:
string_to_mode("u=rwx,g=rw,o=r", 0);
string_to_mode("a-x", 0777);
string_to_mode("0744", 0);
author | Daniel Walter <d.walter@0x90.at> |
---|---|
date | Mon, 19 Mar 2012 19:57:56 -0500 |
parents | 7d4dbde67dfb |
children |
line wrap: on
line source
/* vi: set sw=4 ts=4: * * realpath.c - Return the canonical version of a pathname * * Copyright 2012 Andre Renaud <andre@bluewatersys.com> * * Not in SUSv4. USE_REALPATH(NEWTOY(realpath, "<1", TOYFLAG_USR|TOYFLAG_BIN)) config REALPATH bool "realpath" default y help usage: realpath FILE... Display the canonical absolute pathname */ #include "toys.h" void realpath_main(void) { char **s = toys.optargs; for (s = toys.optargs; *s; s++) { if (!realpath(*s, toybuf)) { perror_msg("cannot access '%s'", *s); toys.exitval = 1; } else xputs(toybuf); } }