r12414: Remove the unnecessary SMB_STRDUP in server_role_str() + reuse the role
authorGünther Deschner <gd@samba.org>
Wed, 21 Dec 2005 23:15:57 +0000 (23:15 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:05:55 +0000 (11:05 -0500)
translation elsewhere.

Guenther
(This used to be commit 6c4a6da3dc7cecce09890a0da7d97b9d1bb47827)

source3/param/loadparm.c
source3/rpcclient/cmd_samr.c
source3/utils/testparm.c

index ca47e48d8c81c371cf49e25a4ad480a7aea30688..fa61a8aedb4fd3ba43da231f52e15bdb0b46a8b0 100644 (file)
@@ -4098,6 +4098,28 @@ static void lp_save_defaults(void)
  Set the server type we will announce as via nmbd.
 ********************************************************************/
 
+static const struct srv_role_tab {
+       uint32 role;
+       const char *role_str;
+} srv_role_tab [] = {
+       { ROLE_STANDALONE, "ROLE_STANDALONE" },
+       { ROLE_DOMAIN_MEMBER, "ROLE_DOMAIN_MEMBER" },
+       { ROLE_DOMAIN_BDC, "ROLE_DOMAIN_BDC" },
+       { ROLE_DOMAIN_PDC, "ROLE_DOMAIN_PDC" },
+       { 0, NULL }
+};
+
+const char* server_role_str(uint32 role)
+{
+       int i = 0;
+       for (i=0; srv_role_tab[i].role_str; i++) {
+               if (role == srv_role_tab[i].role) {
+                       return srv_role_tab[i].role_str;
+               }
+       }
+       return NULL;
+}
+
 static void set_server_role(void)
 {
        server_role = ROLE_STANDALONE;
@@ -4141,22 +4163,7 @@ static void set_server_role(void)
                        break;
        }
 
-       DEBUG(10, ("set_server_role: role = "));
-
-       switch(server_role) {
-       case ROLE_STANDALONE:
-               DEBUGADD(10, ("ROLE_STANDALONE\n"));
-               break;
-       case ROLE_DOMAIN_MEMBER:
-               DEBUGADD(10, ("ROLE_DOMAIN_MEMBER\n"));
-               break;
-       case ROLE_DOMAIN_BDC:
-               DEBUGADD(10, ("ROLE_DOMAIN_BDC\n"));
-               break;
-       case ROLE_DOMAIN_PDC:
-               DEBUGADD(10, ("ROLE_DOMAIN_PDC\n"));
-               break;
-       }
+       DEBUG(10, ("set_server_role: role = %s", server_role_str(server_role)));
 }
 
 /***********************************************************
index 2050f2a779686d02857eb96b4445f8967b5abad5..e711cc7d1c01a1690a6c0bddbb0db11e0b7be5df 100644 (file)
@@ -141,27 +141,6 @@ static const char *display_time(NTTIME nttime)
        return (string);
 }
 
-static const char* server_role_str(uint32 server_role)
-{
-       switch(server_role) {
-               case ROLE_STANDALONE:
-                       return SMB_STRDUP("ROLE_STANDALONE");
-                       break;
-               case ROLE_DOMAIN_MEMBER:
-                       return SMB_STRDUP("ROLE_DOMAIN_MEMBER");
-                       break;
-               case ROLE_DOMAIN_BDC:
-                       return SMB_STRDUP("ROLE_DOMAIN_BDC");
-                       break;
-               case ROLE_DOMAIN_PDC:
-                       return SMB_STRDUP("ROLE_DOMAIN_PDC");
-                       break;
-               default:
-                       return SMB_STRDUP("Unknown -- internal error?");
-                       break;
-       }
-}
-
 static void display_sam_unk_info_1(SAM_UNK_INFO_1 *info1)
 {
        
index 0ce838e5c763609c0ee2f6bd55739092e79566c0..8490c85009104a6cc470ea00e67dce428ac4ac91 100644 (file)
@@ -348,24 +348,7 @@ print command parameter is ignored when using CUPS libraries.\n",
 
 
        if (!silent_mode && !section_name && !parameter_name) {
-               fprintf(stderr,"Server role: ");
-               switch(lp_server_role()) {
-                       case ROLE_STANDALONE:
-                               fprintf(stderr,"ROLE_STANDALONE\n");
-                               break;
-                       case ROLE_DOMAIN_MEMBER:
-                               fprintf(stderr,"ROLE_DOMAIN_MEMBER\n");
-                               break;
-                       case ROLE_DOMAIN_BDC:
-                               fprintf(stderr,"ROLE_DOMAIN_BDC\n");
-                               break;
-                       case ROLE_DOMAIN_PDC:
-                               fprintf(stderr,"ROLE_DOMAIN_PDC\n");
-                               break;
-                       default:
-                               fprintf(stderr,"Unknown -- internal error?\n");
-                               break;
-               }
+               fprintf(stderr,"Server role: %s", server_role_str(lp_server_role()));
        }
 
        if (!cname) {