diff options
Diffstat (limited to 'source3/param/loadparm.c')
-rw-r--r-- | source3/param/loadparm.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 1191c3d3aa..d91d34d29b 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -6529,7 +6529,7 @@ static void copy_service(struct service *pserviceDest, struct service *pserviceS break; case P_LIST: TALLOC_FREE(*((char ***)dest_ptr)); - str_list_copy(NULL, (char ***)dest_ptr, + *((char ***)dest_ptr) = str_list_copy(NULL, *(const char ***)src_ptr); break; default: @@ -6930,7 +6930,7 @@ static bool handle_include(int snum, const char *pszParmValue, char **ptr) string_set(ptr, fname); - if (file_exist(fname, NULL)) { + if (file_exist(fname)) { bool ret = pm_process(fname, do_section, do_parameter, NULL); SAFE_FREE(fname); return ret; @@ -7423,7 +7423,7 @@ static bool equal_parameter(parm_type type, void *ptr1, void *ptr2) return (*((char *)ptr1) == *((char *)ptr2)); case P_LIST: - return str_list_compare(*(char ***)ptr1, *(char ***)ptr2); + return str_list_equal(*(const char ***)ptr1, *(const char ***)ptr2); case P_STRING: case P_USTRING: @@ -7512,8 +7512,8 @@ static bool is_default(int i) return False; switch (parm_table[i].type) { case P_LIST: - return str_list_compare (parm_table[i].def.lvalue, - *(char ***)parm_table[i].ptr); + return str_list_equal((const char **)parm_table[i].def.lvalue, + *(const char ***)parm_table[i].ptr); case P_STRING: case P_USTRING: return strequal(parm_table[i].def.svalue, @@ -7927,9 +7927,8 @@ static void lp_save_defaults(void) continue; switch (parm_table[i].type) { case P_LIST: - str_list_copy( - NULL, &(parm_table[i].def.lvalue), - *(const char ***)parm_table[i].ptr); + parm_table[i].def.lvalue = str_list_copy( + NULL, *(const char ***)parm_table[i].ptr); break; case P_STRING: case P_USTRING: @@ -8386,7 +8385,7 @@ static int process_usershare_file(const char *dir_name, const char *file_name, i return -1; } - lines = fd_lines_load(fd, &numlines, MAX_USERSHARE_FILE_SIZE); + lines = fd_lines_load(fd, &numlines, MAX_USERSHARE_FILE_SIZE, NULL); close(fd); if (lines == NULL) { @@ -8401,7 +8400,7 @@ static int process_usershare_file(const char *dir_name, const char *file_name, i /* Should we allow printers to be shared... ? */ ctx = talloc_init("usershare_sd_xctx"); if (!ctx) { - file_lines_free(lines); + TALLOC_FREE(lines); return 1; } @@ -8409,11 +8408,11 @@ static int process_usershare_file(const char *dir_name, const char *file_name, i iService, lines, numlines, &sharepath, &comment, &psd, &guest_ok) != USERSHARE_OK) { talloc_destroy(ctx); - file_lines_free(lines); + TALLOC_FREE(lines); return -1; } - file_lines_free(lines); + TALLOC_FREE(lines); /* Everything ok - add the service possibly using a template. */ if (iService < 0) { |