16
16
#error "Requires macOS 10.15 or later"
17
17
#endif
18
18
19
+ #define CLI_DEFAULT_VDE_GROUP "staff"
20
+
19
21
static void print_usage (const char * argv0 ) {
20
22
printf ("Usage: %s [OPTION]... VDESWITCH\n" , argv0 );
21
23
printf ("vmnet.framework support for rootless QEMU.\n" );
22
24
printf ("vde_vmnet does not require QEMU to run as the root user, but "
23
25
"vde_vmnet itself has to run as the root, in most cases.\n" );
24
26
printf ("\n" );
25
27
printf ("--vde-group=GROUP VDE group name (default: "
26
- "\"staff \")\n" );
28
+ "\"" CLI_DEFAULT_VDE_GROUP " \")\n" );
27
29
printf (
28
30
"--vmnet-mode=(host|shared|bridged) vmnet mode (default: \"shared\")\n" );
29
31
printf ("--vmnet-interface=INTERFACE interface used for "
@@ -46,8 +48,6 @@ struct cli_options *cli_options_parse(int argc, char *argv[]) {
46
48
goto error ;
47
49
}
48
50
memset (res , 0 , sizeof (* res ));
49
- res -> vde_group = strdup ("staff" ); /* use strdup to make it freeable */
50
- res -> vmnet_mode = VMNET_SHARED_MODE ;
51
51
52
52
const struct option longopts [] = {
53
53
{"vde-group" , required_argument , NULL , CLI_OPTIONS_ID_VDE_GROUP },
@@ -100,6 +100,15 @@ struct cli_options *cli_options_parse(int argc, char *argv[]) {
100
100
goto error ;
101
101
}
102
102
res -> vde_switch = strdup (argv [optind ]);
103
+
104
+ /* fill default */
105
+ if (res -> vde_group == NULL )
106
+ res -> vde_group =
107
+ strdup (CLI_DEFAULT_VDE_GROUP ); /* use strdup to make it freeable */
108
+ if (res -> vmnet_mode == 0 )
109
+ res -> vmnet_mode = VMNET_SHARED_MODE ;
110
+
111
+ /* validate */
103
112
if (res -> vmnet_mode == VMNET_BRIDGED_MODE && res -> vmnet_interface == NULL ) {
104
113
fprintf (
105
114
stderr ,
0 commit comments