summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2009-10-26 22:27:05 (GMT)
committer Denys Vlasenko <vda.linux@googlemail.com>2009-10-27 16:13:12 (GMT)
commit933993a4618edd0778324c4887febc1b92d6603b (patch)
tree4a1c3d93acf6096ef67924592fb01ffceea664bd
parent6531f0923bc3c288291aa979a0e06daab964f008 (diff)
downloadbusybox-933993a4618edd0778324c4887febc1b92d6603b.tar.gz
busybox-933993a4618edd0778324c4887febc1b92d6603b.tar.bz2
mdev: handle string modes
parse ugoa=rwxXst via bb_parse_mode (+5b) Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--util-linux/mdev.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/util-linux/mdev.c b/util-linux/mdev.c
index d0aafac..e4bc665 100644
--- a/util-linux/mdev.c
+++ b/util-linux/mdev.c
@@ -111,7 +111,7 @@ static void make_device(char *path, int delete)
{
char *device_name;
int major, minor, type, len;
- int mode;
+ mode_t mode;
parser_t *parser;
/* Try to read major/minor string. Note that the kernel puts \n after
@@ -249,7 +249,8 @@ static void make_device(char *path, int delete)
bb_error_msg("unknown user/group %s", tokens[1]);
/* 3rd field: mode - device permissions */
- mode = strtoul(tokens[2], NULL, 8);
+ /* mode = strtoul(tokens[2], NULL, 8); */
+ bb_parse_mode(tokens[2], &mode);
val = tokens[3];
/* 4th field (opt): >|=alias */