Style fix.
2005/03/04 18:32:42-08:00 net[shemminger]!shemminger Import patch iproute-batch.1.050209.patch (Logical change 1.162)
This commit is contained in:
parent
38c7e2e6a5
commit
044ebf35b1
39
tc/tc.c
39
tc/tc.c
|
|
@ -35,6 +35,8 @@ int show_details = 0;
|
||||||
int show_raw = 0;
|
int show_raw = 0;
|
||||||
int resolve_hosts = 0;
|
int resolve_hosts = 0;
|
||||||
int use_iec = 0;
|
int use_iec = 0;
|
||||||
|
struct rtnl_handle g_rth;
|
||||||
|
int is_batch_mode = 0;
|
||||||
|
|
||||||
static void *BODY; /* cached handle dlopen(NULL) */
|
static void *BODY; /* cached handle dlopen(NULL) */
|
||||||
static struct qdisc_util * qdisc_list;
|
static struct qdisc_util * qdisc_list;
|
||||||
|
|
@ -175,14 +177,12 @@ noexist:
|
||||||
return q;
|
return q;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void usage(void) __attribute__((noreturn));
|
static int usage(void)
|
||||||
|
|
||||||
static void usage(void)
|
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }\n"
|
fprintf(stderr, "Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }\n"
|
||||||
"where OBJECT := { qdisc | class | filter | action }\n"
|
"where OBJECT := { qdisc | class | filter | action }\n"
|
||||||
" OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -b[atch] file }\n");
|
" OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -b[atch] file }\n");
|
||||||
exit(-1);
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -208,21 +208,27 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
if (argc != 3) {
|
if (argc != 3) {
|
||||||
fprintf(stderr, "Wrong number of arguments in batch mode\n");
|
fprintf(stderr, "Wrong number of arguments in batch mode\n");
|
||||||
exit(-1);
|
return -1;
|
||||||
}
|
}
|
||||||
if (matches(argv[2], "-") != 0) {
|
if (matches(argv[2], "-") != 0) {
|
||||||
if ((batch = fopen(argv[2], "r")) == NULL) {
|
if ((batch = fopen(argv[2], "r")) == NULL) {
|
||||||
fprintf(stderr, "Cannot open file \"%s\" for reading: %s=n", argv[2], strerror(errno));
|
fprintf(stderr, "Cannot open file \"%s\" for reading: %s=n", argv[2], strerror(errno));
|
||||||
exit(-1);
|
return -1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ((batch = fdopen(0, "r")) == NULL) {
|
if ((batch = fdopen(0, "r")) == NULL) {
|
||||||
fprintf(stderr, "Cannot open stdin for reading: %s=n", strerror(errno));
|
fprintf(stderr, "Cannot open stdin for reading: %s=n", strerror(errno));
|
||||||
exit(-1);
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tc_core_init();
|
tc_core_init();
|
||||||
|
is_batch_mode=1;
|
||||||
|
|
||||||
|
if (rtnl_open(&g_rth, 0) < 0) {
|
||||||
|
fprintf(stderr, "Cannot open rtnetlink\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
while (fgets(line, sizeof(line)-1, batch)) {
|
while (fgets(line, sizeof(line)-1, batch)) {
|
||||||
if (line[strlen(line)-1]=='\n') {
|
if (line[strlen(line)-1]=='\n') {
|
||||||
|
|
@ -230,18 +236,22 @@ int main(int argc, char **argv)
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "No newline at the end of line, looks like to long (%d chars or more)\n",
|
fprintf(stderr, "No newline at the end of line, looks like to long (%d chars or more)\n",
|
||||||
(int) strlen(line));
|
(int) strlen(line));
|
||||||
exit(-1);
|
return -1;
|
||||||
}
|
}
|
||||||
largc = 0;
|
largc = 0;
|
||||||
largv[largc]=strtok(line, " ");
|
largv[largc]=strtok(line, " ");
|
||||||
|
if (largv[largc]==NULL)
|
||||||
|
continue;
|
||||||
while ((largv[++largc]=strtok(NULL, " ")) != NULL) {
|
while ((largv[++largc]=strtok(NULL, " ")) != NULL) {
|
||||||
if (largc > BMAXARG) {
|
if (largc > BMAXARG) {
|
||||||
fprintf(stderr, "Over %d arguments in batch mode, enough!\n",
|
fprintf(stderr, "Over %d arguments in batch mode, enough!\n",
|
||||||
(int) BMAXARG);
|
(int) BMAXARG);
|
||||||
exit(-1);
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (largv[0][0]=='#')
|
||||||
|
continue;
|
||||||
if (matches(largv[0], "qdisc") == 0) {
|
if (matches(largv[0], "qdisc") == 0) {
|
||||||
ret += do_qdisc(largc-1, largv+1);
|
ret += do_qdisc(largc-1, largv+1);
|
||||||
} else if (matches(largv[0], "class") == 0) {
|
} else if (matches(largv[0], "class") == 0) {
|
||||||
|
|
@ -254,11 +264,11 @@ int main(int argc, char **argv)
|
||||||
usage(); /* note that usage() doesn't return */
|
usage(); /* note that usage() doesn't return */
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "Object \"%s\" is unknown, try \"tc help\".\n", largv[1]);
|
fprintf(stderr, "Object \"%s\" is unknown, try \"tc help\".\n", largv[1]);
|
||||||
exit(-1);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fclose(batch);
|
fclose(batch);
|
||||||
exit(0); /* end of batch, that's all */
|
rtnl_close(&g_rth);
|
||||||
|
return 0; /* end of batch, that's all */
|
||||||
}
|
}
|
||||||
|
|
||||||
while (argc > 1) {
|
while (argc > 1) {
|
||||||
|
|
@ -273,14 +283,14 @@ int main(int argc, char **argv)
|
||||||
++show_raw;
|
++show_raw;
|
||||||
} else if (matches(argv[1], "-Version") == 0) {
|
} else if (matches(argv[1], "-Version") == 0) {
|
||||||
printf("tc utility, iproute2-ss%s\n", SNAPSHOT);
|
printf("tc utility, iproute2-ss%s\n", SNAPSHOT);
|
||||||
exit(0);
|
return 0;
|
||||||
} else if (matches(argv[1], "-iec") == 0) {
|
} else if (matches(argv[1], "-iec") == 0) {
|
||||||
++use_iec;
|
++use_iec;
|
||||||
} else if (matches(argv[1], "-help") == 0) {
|
} else if (matches(argv[1], "-help") == 0) {
|
||||||
usage();
|
usage();
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "Option \"%s\" is unknown, try \"tc -help\".\n", argv[1]);
|
fprintf(stderr, "Option \"%s\" is unknown, try \"tc -help\".\n", argv[1]);
|
||||||
exit(-1);
|
return -1;
|
||||||
}
|
}
|
||||||
argc--; argv++;
|
argc--; argv++;
|
||||||
}
|
}
|
||||||
|
|
@ -299,8 +309,9 @@ int main(int argc, char **argv)
|
||||||
if (matches(argv[1], "help") == 0)
|
if (matches(argv[1], "help") == 0)
|
||||||
usage();
|
usage();
|
||||||
fprintf(stderr, "Object \"%s\" is unknown, try \"tc help\".\n", argv[1]);
|
fprintf(stderr, "Object \"%s\" is unknown, try \"tc help\".\n", argv[1]);
|
||||||
exit(-1);
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
usage();
|
usage();
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue