]> andersk Git - moira.git/blobdiff - clients/moira/main.c
use different top level menus depending on argv[0]
[moira.git] / clients / moira / main.c
index 0a4fff291f32a08d499f68ca382aca4cc4e1d9a7..e09e35d260b286a54869185697e4c62c178facec 100644 (file)
@@ -34,7 +34,7 @@
 
 char * whoami;                 /* used by menu.c ugh!!! */
 
-extern Menu sms_top_menu;
+extern Menu sms_top_menu, list_menu, user_menu;
 
 #ifndef DEBUG
 static void SignalHandler();
@@ -59,6 +59,7 @@ main(argc, argv)
     char ** argv;
 {
     int status;
+    Menu *menu;
 
     if ((user = getlogin()) == NULL) 
        user = getpwuid((int) getuid())->pw_name;
@@ -106,13 +107,20 @@ main(argc, argv)
     (void) signal(SIGQUIT, SignalHandler);
 #endif DEBUG
 
+    if (!strcmp(program_name, "listmaint"))
+      menu = &list_menu;
+    else if (!strcmp(program_name, "usermaint"))
+      menu = &user_menu;
+    else
+      menu = &sms_top_menu;
+
     if (use_menu) {            /* Start menus that execute program */
         Start_paging();
-       Start_menu(&sms_top_menu);
+       Start_menu(menu);
        Stop_paging();
     }
     else                       /* Start program without menus. */
-       Start_no_menu(&sms_top_menu);
+       Start_no_menu(menu);
 
     sms_disconnect();
     exit(0);
This page took 0.035046 seconds and 4 git commands to generate.