diff options
Diffstat (limited to 'toys/other')
-rw-r--r-- | toys/other/hello.c | 56 | ||||
-rw-r--r-- | toys/other/vconfig.c | 14 |
2 files changed, 15 insertions, 55 deletions
diff --git a/toys/other/hello.c b/toys/other/hello.c index b909ed53..eb80972e 100644 --- a/toys/other/hello.c +++ b/toys/other/hello.c @@ -8,28 +8,17 @@ // Accept many different kinds of command line argument: USE_HELLO(NEWTOY(hello, "(walrus)(blubber):;(also):e@d*c#b:a", TOYFLAG_USR|TOYFLAG_BIN)) -USE_HELLO_ALIAS(NEWTOY(hello_alias, "b:dq", TOYFLAG_USR|TOYFLAG_BIN)) config HELLO bool "hello" default n help - usage: hello [-a] [-b STRING] [-c NUMBER] [-d LIST] [-e COUNT] [...] + usage: hello [-a] [-b string] [-c number] [-d list] [-e count] [...] A hello world program. You don't need this. Mostly used as an example/skeleton file for adding new commands, occasionally nice to test kernel booting via "init=/bin/hello". - -config HELLO_ALIAS - bool "hello_alias" - default n - depends on HELLO - help - usage: hello_alias [-dq] [-b NUMBER] - - Example of a second command with different arguments in the same source - file as the first. Allows shared infrastructure not added to lib. */ #define FOR_hello @@ -38,19 +27,12 @@ config HELLO_ALIAS // Hello doesn't use these globals, they're here for example/skeleton purposes. GLOBALS( - union { - struct { - char *b_string; - long c_number; - struct arg_list *d_list; - long e_count; - char *also_string; - char *blubber_string; - } h; - struct { - long b_number; - } a; - }; + char *b_string; + long c_number; + struct arg_list *d_list; + long e_count; + char *also_string; + char *blubber_string; int more_globals; ) @@ -65,25 +47,15 @@ void hello_main(void) if (toys.optflags) printf("flags=%x\n", toys.optflags); if (toys.optflags & FLAG_a) printf("Saw a\n"); - if (toys.optflags & FLAG_b) printf("b=%s\n", TT.h.b_string); - if (toys.optflags & FLAG_c) printf("c=%ld\n", TT.h.c_number); - while (TT.h.d_list) { - printf("d=%s\n", TT.h.d_list->arg); - TT.h.d_list = TT.h.d_list->next; + if (toys.optflags & FLAG_b) printf("b=%s\n", TT.b_string); + if (toys.optflags & FLAG_c) printf("c=%ld\n", TT.c_number); + while (TT.d_list) { + printf("d=%s\n", TT.d_list->arg); + TT.d_list = TT.d_list->next; } - if (TT.h.e_count) printf("e was seen %ld times\n", TT.h.e_count); + if (TT.e_count) printf("e was seen %ld times\n", TT.e_count); for (optargs = toys.optargs; *optargs; optargs++) printf("optarg=%s\n", *optargs); if (toys.optflags & FLAG_walrus) printf("Saw --walrus\n"); - if (TT.h.blubber_string) printf("--blubber=%s\n", TT.h.blubber_string); -} - -#define CLEANUP_hello -#define FOR_hello_alias -#include "generated/flags.h" - -void hello_alias_main(void) -{ - printf("hello world %x\n", toys.optflags); - if (toys.optflags & FLAG_b) printf("b=%ld", TT.a.b_number); + if (TT.blubber_string) printf("--blubber=%s\n", TT.blubber_string); } diff --git a/toys/other/vconfig.c b/toys/other/vconfig.c index 5a737c78..d2422529 100644 --- a/toys/other/vconfig.c +++ b/toys/other/vconfig.c @@ -47,18 +47,6 @@ void vconfig_main(void) memset(&request, 0, sizeof(struct vlan_ioctl_args)); cmd = toys.optargs[0]; -//add ADD_VLAN_CMD 4094 0 // ADD_VLAN_CMD -//rem DEL_VLAN_CMD 0 0 // DEL_VLAN_CMD -//set_ingress_map INT_MAX 0 // SET_VLAN_INGRESS_PRIORITY_CMD -//set_egress_map // SET_VLAN_EGRESS_PRIORITY_CMD -//GET_VLAN_INGRESS_PRIORITY_CMD, -//GET_VLAN_EGRESS_PRIORITY_CMD, -//set_name_type // SET_VLAN_NAME_TYPE_CMD -//set_flag // SET_VLAN_FLAG_CMD, -//GET_VLAN_REALDEV_NAME_CMD, -//GET_VLAN_VID_CMD - - if (!strcmp(cmd, "set_name_type")) { char *types[] = {"VLAN_PLUS_VID", "DEV_PLUS_VID", "VLAN_PLUS_VID_NO_PAD", "DEV_PLUS_VID_NO_PAD"}; @@ -77,7 +65,7 @@ void vconfig_main(void) } // Store interface name - xstrncpy(request.device1, toys.optargs[1], 23); + xstrncpy(request.device1, toys.optargs[1], 16); if (!strcmp(cmd, "add")) { request.cmd = ADD_VLAN_CMD; |