lib/param: add lpcfg_parm_is_unspecified() helper
authorStefan Metzmacher <metze@samba.org>
Tue, 13 Jul 2021 22:06:52 +0000 (00:06 +0200)
committerStefan Metzmacher <metze@samba.org>
Thu, 15 Jul 2021 00:06:31 +0000 (00:06 +0000)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
lib/param/loadparm.c
lib/param/param.h

index 59ddc213156631c11d9579b32ce442bcd3138e37..3bb711a5f19da1ab28c768eae2766fdeddc63eac 100644 (file)
@@ -800,6 +800,16 @@ bool lpcfg_parm_is_cmdline(struct loadparm_context *lp_ctx, const char *name)
        return lp_ctx->flags[parmnum] & FLAG_CMDLINE;
 }
 
+bool lpcfg_parm_is_unspecified(struct loadparm_context *lp_ctx, const char *name)
+{
+       int parmnum;
+
+       parmnum = lpcfg_map_parameter(name);
+       if (parmnum == -1) return false;
+
+       return lp_ctx->flags[parmnum] & FLAG_DEFAULT;
+}
+
 /**
  * Find a service by name. Otherwise works like get_service.
  */
index 07b387a8108431ff901e394a63b043b1b2820433..7ead57f6130a1075fc14354c3baf376d85a52649 100644 (file)
@@ -120,6 +120,7 @@ struct parm_struct *lpcfg_parm_struct(struct loadparm_context *lp_ctx, const cha
 void *lpcfg_parm_ptr(struct loadparm_context *lp_ctx,
                  struct loadparm_service *service, struct parm_struct *parm);
 bool lpcfg_parm_is_cmdline(struct loadparm_context *lp_ctx, const char *name);
+bool lpcfg_parm_is_unspecified(struct loadparm_context *lp_ctx, const char *name);
 
 bool lpcfg_do_global_parameter(struct loadparm_context *lp_ctx,
                            const char *pszParmName, const char *pszParmValue);