Mercurial > hg > toybox
view toys/swapon.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 | 26db0cd433f3 |
children |
line wrap: on
line source
/* vi: set sw=4 ts=4: * * swapon.c - Enable region for swapping * * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com> * * Not in SUSv4. USE_SWAPON(NEWTOY(swapon, "<1>1p#<0>32767", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) config SWAPON bool "swapon" default y help usage: swapon [-p priority] filename Enable swapping on a given device/file. */ #include "toys.h" DEFINE_GLOBALS( long priority; ) #define TT this.swapon void swapon_main(void) { int flags = 0; if (toys.optflags & 1) flags = SWAP_FLAG_PREFER | (TT.priority << SWAP_FLAG_PRIO_SHIFT); if (swapon(*toys.optargs, flags)) perror_exit("Couldn't swapon '%s'", *toys.optargs); }