param: add extra default parameter to get_parametrics_by_service
authorGarming Sam <garming@catalyst.net.nz>
Fri, 21 Feb 2014 04:16:15 +0000 (17:16 +1300)
committerJeremy Allison <jra@samba.org>
Wed, 7 May 2014 17:49:16 +0000 (19:49 +0200)
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
lib/param/loadparm.c
lib/param/s3_param.h
source3/include/proto.h
source3/param/loadparm.c

index b1e160d70bcb7264c1800ab638db9121a65fa4ed..63b8edd201af6c2d37adad9c43be38a73eff453d 100644 (file)
@@ -288,7 +288,7 @@ const char *lpcfg_get_parametric(struct loadparm_context *lp_ctx,
                return NULL;
 
        if (lp_ctx->s3_fns) {
-               return lp_ctx->s3_fns->get_parametric(service, type, option);
+               return lp_ctx->s3_fns->get_parametric(service, type, option, NULL);
        }
 
        data = (service == NULL ? lp_ctx->globals->param_opt : service->param_opt);
index 27ad192f7496485ed129f4e6298f70244e13117a..e1d68cf04fb988ea6e25ac8b91a5ac40e3766fff 100644 (file)
@@ -3,7 +3,8 @@
 
 struct loadparm_s3_helpers
 {
-       const char * (*get_parametric)(struct loadparm_service *, const char *type, const char *option);
+       const char * (*get_parametric)(struct loadparm_service *, const char *type,
+                                      const char *option, const char *def);
        struct parm_struct * (*get_parm_struct)(const char *param_name);
        void * (*get_parm_ptr)(struct loadparm_service *service, struct parm_struct *parm);
        struct loadparm_service * (*get_service)(const char *service_name);
index 9f96364ff49d558b8931ab6927a8d8c79952f22b..9cdd0df2c003f6dc964f74627dfdb48e9418d40f 100644 (file)
@@ -1008,7 +1008,8 @@ bool lp_widelinks(int );
 char *lp_parm_talloc_string(TALLOC_CTX *ctx, int snum, const char *type, const char *option, const char *def);
 const char *lp_parm_const_string(int snum, const char *type, const char *option, const char *def);
 struct loadparm_service;
-const char *lp_parm_const_string_service(struct loadparm_service *service, const char *type, const char *option);
+const char *lp_parm_const_string_service(struct loadparm_service *service, const char *type,
+                                        const char *option, const char *def);
 const char **lp_parm_string_list(int snum, const char *type, const char *option, const char **def);
 int lp_parm_int(int snum, const char *type, const char *option, int def);
 unsigned long lp_parm_ulong(int snum, const char *type, const char *option, unsigned long def);
index 2e7a5081918190ef259b2f31a19530f3d005e17c..6e375aed3fcff90769da0d69ecb077f156d16f18 100644 (file)
@@ -1304,12 +1304,14 @@ const char *lp_parm_const_string(int snum, const char *type, const char *option,
        return data->value;
 }
 
-const char *lp_parm_const_string_service(struct loadparm_service *service, const char *type, const char *option)
+const char *lp_parm_const_string_service(struct loadparm_service *service,
+                                        const char *type, const char *option,
+                                        const char *def)
 {
        struct parmlist_entry *data = get_parametrics_by_service(service, type, option);
 
        if (data == NULL||data->value==NULL)
-               return NULL;
+               return def;
 
        return data->value;
 }