net: Make share type lookup a function.
authorKai Blin <kai@samba.org>
Wed, 24 Sep 2008 21:23:01 +0000 (23:23 +0200)
committerGünther Deschner <gd@samba.org>
Fri, 26 Sep 2008 18:52:13 +0000 (20:52 +0200)
source3/utils/net_proto.h
source3/utils/net_rap.c
source3/utils/net_rpc.c
source3/utils/net_util.c

index 1e355e54a3e720a2b779ca5f17510f87a25a9640..ee4388f1577980c826b6c99cccfd1f8c567645d4 100644 (file)
@@ -471,6 +471,8 @@ int net_run_function(struct net_context *c, int argc, const char **argv,
                      const char *whoami, struct functable *table);
 void net_display_usage_from_functable(struct functable *table);
 
+const char *net_share_type_str(int num_type);
+
 /* The following definitions come from utils/netlookup.c  */
 
 NTSTATUS net_lookup_name_from_sid(struct net_context *c,
index 883524dc2df247f9e767b925fd11169699b6f55e..32f4dd31b4b853c1e273c892320c0ab70f191801 100644 (file)
 #define ERRMSG_BOTH_SERVER_IPADDRESS    "\nTarget server and IP address both "\
   "specified. Do not set both at the same time.  The target IP address was used\n"
 
-const char *share_type[] = {
-  "Disk",
-  "Print",
-  "Dev",
-  "IPC"
-};
-
 static int errmsg_not_implemented(void)
 {
        d_printf("\nNot implemented\n");
@@ -201,7 +194,7 @@ static void long_share_fn(const char *share_name, uint32 type,
                          const char *comment, void *state)
 {
        d_printf("%-12s %-8.8s %-50s\n",
-                share_name, share_type[type], comment);
+                share_name, net_share_type_str(type), comment);
 }
 
 static void share_fn(const char *share_name, uint32 type,
@@ -388,7 +381,7 @@ static void display_conns_func(uint16 conn_id, uint16 conn_type, uint16 opens,
                               const char *username, const char *netname)
 {
        d_printf("%-14.14s %-8.8s %5d\n",
-                netname, share_type[conn_type], opens);
+                netname, net_share_type_str(conn_type), opens);
 }
 
 static int rap_session_info(struct net_context *c, int argc, const char **argv)
index a849ec4c10b35ec5f89a4fd10940288c99ef7ca2..0e91144d339d218e69c60d280d5d9fc3db42969b 100644 (file)
@@ -26,8 +26,6 @@
 static int net_mode_share;
 static bool sync_files(struct copy_clistate *cp_clistate, const char *mask);
 
-extern const char *share_type[];
-
 /**
  * @file net_rpc.c
  *
@@ -2876,7 +2874,7 @@ static void display_share_info_1(struct net_context *c,
        if (c->opt_long_list_entries) {
                d_printf("%-12s %-8.8s %-50s\n",
                         r->shi1_netname,
-                        share_type[r->shi1_type & ~(STYPE_TEMPORARY|STYPE_HIDDEN)],
+                        net_share_type_str(r->shi1_type & ~(STYPE_TEMPORARY|STYPE_HIDDEN)),
                         r->shi1_remark);
        } else {
                d_printf("%s\n", r->shi1_netname);
index 88850d29df125849db31ea04115f33429fcaacd6..fbb3c24b03452e78e92e92f5dabb0c275440eb8e 100644 (file)
@@ -2,6 +2,7 @@
  *  Unix SMB/CIFS implementation.
  *  Helper routines for net
  *  Copyright (C) Volker Lendecke 2006
+ *  Copyright (C) Kai Blin 2008
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -595,3 +596,14 @@ void net_display_usage_from_functable(struct functable *table)
                d_printf("%s\n", table[i].usage);
        }
 }
+
+const char *net_share_type_str(int num_type)
+{
+       switch(num_type) {
+               case 0: return "Disk";
+               case 1: return "Print";
+               case 2: return "Dev";
+               case 3: return "IPC";
+               default: return "Unknown";
+       }
+}