aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2002-04-13 14:26:44 +0000
committerandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2002-04-13 14:26:44 +0000
commit0f7f9f9c9eb533c8be091f0c87f30ee0f6432a4b (patch)
tree8cb27a6dc89fb8bd13f918e86a443e08adfa894d
parent4b44e3cf94b5cc6776beb0415b6853ea5ac40a07 (diff)
downloadbusybox-w32-0f7f9f9c9eb533c8be091f0c87f30ee0f6432a4b.tar.gz
busybox-w32-0f7f9f9c9eb533c8be091f0c87f30ee0f6432a4b.tar.bz2
busybox-w32-0f7f9f9c9eb533c8be091f0c87f30ee0f6432a4b.zip
Teach makedevs to not segfault quite so much
git-svn-id: svn://busybox.net/trunk/busybox@4616 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r--miscutils/makedevs.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/miscutils/makedevs.c b/miscutils/makedevs.c
index b8c6dd1d8..4e50a6d71 100644
--- a/miscutils/makedevs.c
+++ b/miscutils/makedevs.c
@@ -17,23 +17,22 @@
17 17
18int makedevs_main(int argc, char **argv) 18int makedevs_main(int argc, char **argv)
19{ 19{
20
21 const char *basedev = argv[1];
22 const char *type = argv[2];
23 int major = atoi(argv[3]);
24 int Sminor = atoi(argv[4]);
25 int S = atoi(argv[5]);
26 int E = atoi(argv[6]);
27 int sbase = argc == 8 ? 1 : 0;
28
29 mode_t mode = 0;
30 dev_t dev = 0; 20 dev_t dev = 0;
31 char devname[255]; 21 mode_t mode = 0;
32 char buf[255]; 22 char *basedev, *type, devname[255], buf[255];
23 int major, Sminor, S, E, sbase;
33 24
34 if (argc < 7 || *argv[1]=='-') 25 if (argc < 7 || *argv[1]=='-')
35 show_usage(); 26 show_usage();
36 27
28 basedev = argv[1];
29 type = argv[2];
30 major = atoi(argv[3]);
31 Sminor = atoi(argv[4]);
32 S = atoi(argv[5]);
33 E = atoi(argv[6]);
34 sbase = argc == 8 ? 1 : 0;
35
37 switch (type[0]) { 36 switch (type[0]) {
38 case 'c': 37 case 'c':
39 mode = S_IFCHR; 38 mode = S_IFCHR;