diff options
| author | Garming Sam <garming@catalyst.net.nz> | 2014-02-19 13:47:38 +1300 |
|---|---|---|
| committer | Jeremy Allison <jra@samba.org> | 2014-05-07 19:49:15 +0200 |
| commit | 6f8b2ab54f3eee23f1b63e269f8a5eca02340f09 (patch) | |
| tree | 31984f8b09dc5bdafd0a8190fb308e1930fcda5d /source3 | |
| parent | c8b499b342c064a940236d2b7bc03f1ca5c24a68 (diff) | |
| download | samba-6f8b2ab54f3eee23f1b63e269f8a5eca02340f09.tar.gz samba-6f8b2ab54f3eee23f1b63e269f8a5eca02340f09.tar.xz samba-6f8b2ab54f3eee23f1b63e269f8a5eca02340f09.zip | |
param: use a single copy_service function in lib/param
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3')
| -rw-r--r-- | source3/param/loadparm.c | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index b2bef1d747..ddf8f45ef6 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -1176,9 +1176,6 @@ static int map_parameter_canonical(const char *pszParmName, bool *inverse); static const char *get_boolean(bool bool_value); static int getservicebyname(const char *pszServiceName, struct loadparm_service *pserviceDest); -static void copy_service(struct loadparm_service *pserviceDest, - const struct loadparm_service *pserviceSource, - struct bitmap *pcopymapDest); static bool do_parameter(const char *pszParmName, const char *pszParmValue, void *userdata); static bool do_section(const char *pszSectionName, void *userdata); @@ -2132,80 +2129,6 @@ struct loadparm_service *lp_default_loadparm_service() return &sDefault; } - -/*************************************************************************** - Copy a service structure to another. - If pcopymapDest is NULL then copy all fields -***************************************************************************/ - -static void copy_service(struct loadparm_service *pserviceDest, - const struct loadparm_service *pserviceSource, - struct bitmap *pcopymapDest) -{ - int i; - bool bcopyall = (pcopymapDest == NULL); - struct parmlist_entry *data; - - for (i = 0; parm_table[i].label; i++) - if (parm_table[i].p_class == P_LOCAL && - (bcopyall || bitmap_query(pcopymapDest, i))) { - const void *src_ptr = - ((const char *)pserviceSource) + parm_table[i].offset; - void *dest_ptr = - ((char *)pserviceDest) + parm_table[i].offset; - - switch (parm_table[i].type) { - case P_BOOL: - case P_BOOLREV: - *(bool *)dest_ptr = *(const bool *)src_ptr; - break; - - case P_INTEGER: - case P_BYTES: - case P_OCTAL: - case P_ENUM: - *(int *)dest_ptr = *(const int *)src_ptr; - break; - - case P_CHAR: - *(char *)dest_ptr = *(const char *)src_ptr; - break; - - case P_STRING: - lpcfg_string_set(pserviceDest, - (char **)dest_ptr, - *(const char * const *)src_ptr); - break; - - case P_USTRING: - lpcfg_string_set_upper(pserviceDest, - (char **)dest_ptr, - *(const char * const *)src_ptr); - break; - case P_LIST: - TALLOC_FREE(*((char ***)dest_ptr)); - *(const char * const **)dest_ptr = (const char * const *)str_list_copy(pserviceDest, - *(const char * * const *)src_ptr); - break; - default: - break; - } - } - - if (bcopyall) { - init_copymap(pserviceDest); - if (pserviceSource->copymap) - bitmap_copy(pserviceDest->copymap, - pserviceSource->copymap); - } - - data = pserviceSource->param_opt; - while (data) { - set_param_opt(pserviceDest, &pserviceDest->param_opt, data->key, data->value, data->priority); - data = data->next; - } -} - /*************************************************************************** Check a service for consistency. Return false if the service is in any way incomplete or faulty, else true. |
