summaryrefslogtreecommitdiff
path: root/miscutils/makedevs.c
diff options
context:
space:
mode:
authorErik Andersen <andersen@codepoet.org>2000-02-08 19:58:47 +0000
committerErik Andersen <andersen@codepoet.org>2000-02-08 19:58:47 +0000
commite49d5ecbbe51718fa925b6890a735e5937cc2aa2 (patch)
treec90bda10731ad9333ce3b404f993354c9fc104b8 /miscutils/makedevs.c
parentc0bf817bbc5c7867fbe8fb76d5c39f8ee802692f (diff)
downloadbusybox-w32-e49d5ecbbe51718fa925b6890a735e5937cc2aa2.tar.gz
busybox-w32-e49d5ecbbe51718fa925b6890a735e5937cc2aa2.tar.bz2
busybox-w32-e49d5ecbbe51718fa925b6890a735e5937cc2aa2.zip
Some formatting updates (ran the code through indent)
-Erik
Diffstat (limited to 'miscutils/makedevs.c')
-rw-r--r--miscutils/makedevs.c83
1 files changed, 44 insertions, 39 deletions
diff --git a/miscutils/makedevs.c b/miscutils/makedevs.c
index f7fbeb2fe..5948bacc8 100644
--- a/miscutils/makedevs.c
+++ b/miscutils/makedevs.c
@@ -1,3 +1,4 @@
1/* vi: set sw=4 ts=4: */
1/* 2/*
2 * public domain -- Dave 'Kill a Cop' Cinege <dcinege@psychosis.com> 3 * public domain -- Dave 'Kill a Cop' Cinege <dcinege@psychosis.com>
3 * 4 *
@@ -5,7 +6,7 @@
5 * Make ranges of device files quickly. 6 * Make ranges of device files quickly.
6 * known bugs: can't deal with alpha ranges 7 * known bugs: can't deal with alpha ranges
7 */ 8 */
8 9
9#include "internal.h" 10#include "internal.h"
10#include <stdio.h> 11#include <stdio.h>
11#include <stdlib.h> 12#include <stdlib.h>
@@ -15,60 +16,64 @@
15#include <sys/types.h> 16#include <sys/types.h>
16#include <sys/stat.h> 17#include <sys/stat.h>
17 18
18static const char makedevs_usage[] = 19static const char makedevs_usage[] =
19"makedevs 0.01 -- Create an entire range of device files\n\n" 20 "makedevs 0.01 -- Create an entire range of device files\n\n"
20"\tmakedevs /dev/ttyS c 4 64 0 63 (ttyS0-ttyS63)\n" 21 "\tmakedevs /dev/ttyS c 4 64 0 63 (ttyS0-ttyS63)\n"
21"\tmakedevs /dev/hda b 3 0 0 8 s (hda,hda1-hda8)\n"; 22
23 "\tmakedevs /dev/hda b 3 0 0 8 s (hda,hda1-hda8)\n";
22 24
23int 25int makedevs_main(int argc, char **argv)
24makedevs_main(int argc, char * * argv)
25{ 26{
26 27
27const char *basedev = argv[1]; 28 const char *basedev = argv[1];
28const char *type = argv[2]; 29 const char *type = argv[2];
29int major = atoi(argv[3]); 30 int major = atoi(argv[3]);
30int Sminor = atoi(argv[4]); 31 int Sminor = atoi(argv[4]);
31int S = atoi(argv[5]); 32 int S = atoi(argv[5]);
32int E = atoi(argv[6]); 33 int E = atoi(argv[6]);
33int sbase = argc == 8 ? 1 : 0; 34 int sbase = argc == 8 ? 1 : 0;
34 35
35mode_t mode = 0; 36 mode_t mode = 0;
36dev_t dev = 0; 37 dev_t dev = 0;
37char devname[255]; 38 char devname[255];
38char buf[255]; 39 char buf[255];
39 40
40 switch (type[0]) { 41 switch (type[0]) {
41 case 'c': 42 case 'c':
42 mode = S_IFCHR; break; 43 mode = S_IFCHR;
43 case 'b': 44 break;
44 mode = S_IFBLK; break; 45 case 'b':
45 case 'f': 46 mode = S_IFBLK;
46 mode = S_IFIFO; break; 47 break;
47 default: 48 case 'f':
48 usage( makedevs_usage); 49 mode = S_IFIFO;
49 } 50 break;
50 mode |= 0660; 51 default:
51 52 usage(makedevs_usage);
52 while ( S <= E ) { 53 }
53 54 mode |= 0660;
55
56 while (S <= E) {
57
54 if (type[0] != 'f') 58 if (type[0] != 'f')
55 dev = (major << 8) | Sminor; 59 dev = (major << 8) | Sminor;
56 strcpy(devname, basedev); 60 strcpy(devname, basedev);
57 61
58 if (sbase == 0) { 62 if (sbase == 0) {
59 sprintf(buf, "%d", S); 63 sprintf(buf, "%d", S);
60 strcat(devname, buf); 64 strcat(devname, buf);
61 } else { 65 } else {
62 sbase = 0; 66 sbase = 0;
63 } 67 }
64 68
65 if (mknod (devname, mode, dev)) 69 if (mknod(devname, mode, dev))
66 printf("Failed to create: %s\n", devname); 70 printf("Failed to create: %s\n", devname);
67 71
68 S++; Sminor++; 72 S++;
73 Sminor++;
69 } 74 }
70 75
71return 0; 76 return 0;
72} 77}
73 78
74/* 79/*