summaryrefslogtreecommitdiffstats
path: root/source3
diff options
context:
space:
mode:
authorGarming Sam <garming@catalyst.net.nz>2014-02-19 13:47:38 +1300
committerJeremy Allison <jra@samba.org>2014-05-07 19:49:15 +0200
commit6f8b2ab54f3eee23f1b63e269f8a5eca02340f09 (patch)
tree31984f8b09dc5bdafd0a8190fb308e1930fcda5d /source3
parentc8b499b342c064a940236d2b7bc03f1ca5c24a68 (diff)
downloadsamba-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.c77
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.