Fix the behaviour of "net conf setparm" to create the share if necessary.
authorMichael Adam <obnox@samba.org>
Fri, 4 Jan 2008 18:49:57 +0000 (19:49 +0100)
committerMichael Adam <obnox@samba.org>
Fri, 4 Jan 2008 18:49:57 +0000 (19:49 +0100)
This moves functionality taken away from libnet_conf_set_parameter() to the
higher level user frontend function. (Somehow I thought I had done this
already ... :-)

Michael
(This used to be commit fc0fca980f08a0af65d82784ef5a50a7b1ac0927)

source3/utils/net_conf.c

index 63d5477c9d94930149dafb826ae072e0d718f95a..2df2410160643bbd33d6b97c387819be20d32bd8 100644 (file)
@@ -719,6 +719,15 @@ static int net_conf_setparm(int argc, const char **argv)
        param = strdup_lower(argv[1]);
        value_str = argv[2];
 
+       if (!libnet_conf_share_exists(service)) {
+               werr = libnet_conf_create_share(service);
+               if (!W_ERROR_IS_OK(werr)) {
+                       d_fprintf(stderr, "Error creating share '%s': %s\n",
+                                 service, dos_errstr(werr));
+                       goto done;
+               }
+       }
+
        werr = libnet_conf_set_parameter(service, param, value_str);
 
        if (!W_ERROR_IS_OK(werr)) {