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>
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 @@
 {
 	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 @@
 				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 */