[SCM] Samba Shared Repository - branch master updated
Jeremy Allison
jra at samba.org
Fri Nov 14 17:47:04 MST 2014
The branch, master has been updated
via 07d03e2 s3:lib: fix const warnings in popt_common.c
via 3dcc321 s3:auth: add some const to user_in_list()
via c6d3571 s3:auth: add missing auth_samba4_init() prototype
via d5326bc nsswitch: avoid some compiler warnings
via e36de87 auth: add missing includes to auth/wbc_auth_util.c
via 6f6d2c7 s4:librpc/idl: add a uuid to sasl_helpers.idl
via aa018fd s4:librpc: remove unused allow_warnings=True from NDR_WINSREPL and NDR_WINSIF
via ef2e05e libcli/nbt: use NDR_SCALAR_PTR_PROTO() and fix the prototype of ndr_pull_wrepl_nbt_name()
via bade65d librpc/ndr: add NDR_SCALAR_PTR_PROTO() helper macro
via 530e3db lib/smbconf: remove const warning
via 3d4eb5c lib/param: fix const warnings
via 3f0c7e8 lib/util/tests: avoid some compiler warnings
via c5db62c lib/util: add str_list_make_v3_const()
via 94fadfc lib/ldb: remove unused 'allow_warnings=True'
via 8ac49f9 lib/ldb: fix compiler warnings in ldb_tdb.c
via edc6a89 lib/ldb: fix compiler warnings in ldb_modules_list_from_string()
via e27a23e lib/texpect: fix compiler warnings
via 0f0148e lib/texpect: make the code more portable by using "replace.h" and "system/wait.h"
via 6ff9388 wafsamba: add -Werror=return-type for developer builds
via 8ed8997 fsrvp: define FSRVP_E_SHADOWCOPYSET_ID_MISMATCH
from d04bfc6 ctdb-daemon: Improve error handling for running event scripts
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 07d03e277757510b6c1b142ca9cee0b1b755b7b6
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Feb 26 20:16:26 2014 +0100
s3:lib: fix const warnings in popt_common.c
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
Autobuild-User(master): Jeremy Allison <jra at samba.org>
Autobuild-Date(master): Sat Nov 15 01:46:13 CET 2014 on sn-devel-104
commit 3dcc321daf569cf64715d47577105af7a48d10ba
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Feb 26 20:16:26 2014 +0100
s3:auth: add some const to user_in_list()
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit c6d35716502e43cc4ba220bd5374eab8d73ae1b1
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Feb 26 20:16:26 2014 +0100
s3:auth: add missing auth_samba4_init() prototype
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit d5326bca33a7e64cd86f2a86a8b95591ed712a77
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Feb 27 09:38:39 2014 +0100
nsswitch: avoid some compiler warnings
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit e36de873e9fff543aefa06ee046dabd3d9b03c72
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu May 22 10:36:41 2014 +0200
auth: add missing includes to auth/wbc_auth_util.c
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 6f6d2c7a4f732673d545cf03bffe658fd3172410
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 29 12:03:15 2014 +0100
s4:librpc/idl: add a uuid to sasl_helpers.idl
This makes it possible to use decode_saslauthd in ndrdump.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit aa018fda3dd28092031825a7edfc684b354e44fe
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 29 12:00:12 2014 +0100
s4:librpc: remove unused allow_warnings=True from NDR_WINSREPL and NDR_WINSIF
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit ef2e05e4414b6292ef4921037ae96d4b831744be
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 29 11:57:41 2014 +0100
libcli/nbt: use NDR_SCALAR_PTR_PROTO() and fix the prototype of ndr_pull_wrepl_nbt_name()
This avoids compiler warnings in pidl generated code.
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit bade65dac3fed5fcb0f7f1cedec516b1e7ccab45
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 29 11:57:10 2014 +0100
librpc/ndr: add NDR_SCALAR_PTR_PROTO() helper macro
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 530e3db70b5cf1f6e9dd4b70091a094505fa15f0
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Feb 27 09:31:42 2014 +0100
lib/smbconf: remove const warning
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 3d4eb5c043eaaecf4bddc55e2fef12047cbb9981
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Feb 26 08:07:47 2014 +0100
lib/param: fix const warnings
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 3f0c7e87947b4f086dcf421dd4209f6afa7d7f4a
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Feb 27 09:35:15 2014 +0100
lib/util/tests: avoid some compiler warnings
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit c5db62c9a35668e105a8a2da045bfd33f2d91a81
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 29 10:59:49 2014 +0100
lib/util: add str_list_make_v3_const()
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 94fadfc89bab0c28f5c126c653569c5f1b99a64e
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 29 11:56:25 2014 +0100
lib/ldb: remove unused 'allow_warnings=True'
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 8ac49f9f05415a49619e160c468a3fa261b0320b
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 29 11:53:06 2014 +0100
lib/ldb: fix compiler warnings in ldb_tdb.c
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit edc6a89398f1fff9de55e77e84b441bfab955869
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 29 11:52:37 2014 +0100
lib/ldb: fix compiler warnings in ldb_modules_list_from_string()
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit e27a23e6aa27ae2a9b6ae2e2a2560943157aaa5c
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Sep 26 09:06:59 2014 +0200
lib/texpect: fix compiler warnings
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Günther Deschner <gd at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 0f0148e020b6f85447f26de17c2b0b002bcdf498
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Oct 29 11:48:59 2014 +0100
lib/texpect: make the code more portable by using "replace.h" and "system/wait.h"
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 6ff9388172909ce249fd6254703eee707d821731
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Nov 7 09:36:16 2014 +0100
wafsamba: add -Werror=return-type for developer builds
This avoids errors like this:
../source3/utils/status.c: In function ‘print_share_mode’:
../source3/utils/status.c:126:3: error: ‘return’ with no value, in function
returning non-void [-Werror=return-type]
return;
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
commit 8ed899783d288c01f77f5139d3f5b6c26aa1fc7b
Author: David Disseldorp <ddiss at samba.org>
Date: Fri Nov 14 18:36:28 2014 +0100
fsrvp: define FSRVP_E_SHADOWCOPYSET_ID_MISMATCH
This was recently added to the [MS-FSRVP] specification with the errata
http://msdn.microsoft.com/en-us/library/dn785066.aspx#BKMK_FSRVP
Signed-off-by: David Disseldorp <ddiss at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
-----------------------------------------------------------------------
Summary of changes:
auth/wbc_auth_util.c | 2 ++
buildtools/wafsamba/samba_autoconf.py | 2 ++
lib/ldb/common/ldb_modules.c | 4 +--
lib/ldb/ldb_tdb/ldb_tdb.c | 14 +++++++--
lib/ldb/wscript | 2 --
lib/param/loadparm.c | 23 +++++++--------
lib/smbconf/smbconf.c | 2 +-
lib/texpect/texpect.c | 24 +++++-----------
lib/util/charset/tests/iconv.c | 19 +++++++------
lib/util/samba_util.h | 4 +++
lib/util/tests/asn1_tests.c | 22 +++++++--------
lib/util/tests/strlist.c | 53 ++++++++++++++++++++++++++---------
lib/util/util_strlist.c | 7 +++++
libcli/nbt/libnbt.h | 2 +-
libcli/nbt/nbtname.c | 2 +-
librpc/idl/fsrvp.idl | 1 +
librpc/ndr/libndr.h | 5 ++++
nsswitch/pam_winbind.c | 4 +--
nsswitch/wbinfo.c | 7 +++--
nsswitch/winbind_nss_linux.c | 2 +-
source3/auth/proto.h | 5 +++-
source3/auth/user_util.c | 4 +--
source3/lib/popt_common.c | 9 ++++--
source3/rpcclient/cmd_fss.c | 6 +++-
source4/librpc/idl/sasl_helpers.idl | 2 ++
source4/librpc/wscript_build | 3 --
26 files changed, 143 insertions(+), 87 deletions(-)
Changeset truncated at 500 lines:
diff --git a/auth/wbc_auth_util.c b/auth/wbc_auth_util.c
index ebd24a9..1c50b18 100644
--- a/auth/wbc_auth_util.c
+++ b/auth/wbc_auth_util.c
@@ -21,6 +21,8 @@
#include "libcli/security/security.h"
#include "librpc/gen_ndr/netlogon.h"
#include "nsswitch/libwbclient/wbclient.h"
+#include "librpc/gen_ndr/auth.h"
+#include "auth/auth_sam_reply.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_AUTH
diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py
index f60ce9d..c193873 100644
--- a/buildtools/wafsamba/samba_autoconf.py
+++ b/buildtools/wafsamba/samba_autoconf.py
@@ -671,6 +671,8 @@ def SAMBA_CONFIG_H(conf, path=None):
testflags=True)
conf.ADD_CFLAGS('-Werror=declaration-after-statement -Wdeclaration-after-statement',
testflags=True)
+ conf.ADD_CFLAGS('-Werror=return-type -Wreturn-type',
+ testflags=True)
conf.ADD_CFLAGS('-Wformat=2 -Wno-format-y2k', testflags=True)
# This check is because for ldb_search(), a NULL format string
diff --git a/lib/ldb/common/ldb_modules.c b/lib/ldb/common/ldb_modules.c
index 05a8d8a..91412a6 100644
--- a/lib/ldb/common/ldb_modules.c
+++ b/lib/ldb/common/ldb_modules.c
@@ -87,7 +87,7 @@ const char **ldb_modules_list_from_string(struct ldb_context *ldb, TALLOC_CTX *m
if (modstr[0] == '\0') {
modules[0] = NULL;
- m = (const char **)modules;
+ m = discard_const_p(const char *, modules);
return m;
}
@@ -110,7 +110,7 @@ const char **ldb_modules_list_from_string(struct ldb_context *ldb, TALLOC_CTX *m
modules[i + 1] = NULL;
- m = (const char **)modules;
+ m = discard_const_p(const char *, modules);
return m;
}
diff --git a/lib/ldb/ldb_tdb/ldb_tdb.c b/lib/ldb/ldb_tdb/ldb_tdb.c
index d3c83f5..bcb8f0f 100644
--- a/lib/ldb/ldb_tdb/ldb_tdb.c
+++ b/lib/ldb/ldb_tdb/ldb_tdb.c
@@ -264,6 +264,7 @@ int ltdb_store(struct ldb_module *module, const struct ldb_message *msg, int flg
void *data = ldb_module_get_private(module);
struct ltdb_private *ltdb = talloc_get_type(data, struct ltdb_private);
TDB_DATA tdb_key, tdb_data;
+ struct ldb_val ldb_data;
int ret = LDB_SUCCESS;
tdb_key = ltdb_key(module, msg->dn);
@@ -272,12 +273,15 @@ int ltdb_store(struct ldb_module *module, const struct ldb_message *msg, int flg
}
ret = ldb_pack_data(ldb_module_get_ctx(module),
- msg, (struct ldb_val *)&tdb_data);
+ msg, &ldb_data);
if (ret == -1) {
talloc_free(tdb_key.dptr);
return LDB_ERR_OTHER;
}
+ tdb_data.dptr = ldb_data.data;
+ tdb_data.dsize = ldb_data.length;
+
ret = tdb_store(ltdb->tdb, tdb_key, tdb_data, flgs);
if (ret != 0) {
ret = ltdb_err_map(tdb_error(ltdb->tdb));
@@ -286,7 +290,7 @@ int ltdb_store(struct ldb_module *module, const struct ldb_message *msg, int flg
done:
talloc_free(tdb_key.dptr);
- talloc_free(tdb_data.dptr);
+ talloc_free(ldb_data.data);
return ret;
}
@@ -673,6 +677,7 @@ int ltdb_modify_internal(struct ldb_module *module,
void *data = ldb_module_get_private(module);
struct ltdb_private *ltdb = talloc_get_type(data, struct ltdb_private);
TDB_DATA tdb_key, tdb_data;
+ struct ldb_val ldb_data;
struct ldb_message *msg2;
unsigned int i, j, k;
int ret = LDB_SUCCESS, idx;
@@ -701,7 +706,10 @@ int ltdb_modify_internal(struct ldb_module *module,
goto done;
}
- ret = ldb_unpack_data(ldb_module_get_ctx(module), (struct ldb_val *)&tdb_data, msg2);
+ ldb_data.data = tdb_data.dptr;
+ ldb_data.length = tdb_data.dsize;
+
+ ret = ldb_unpack_data(ldb_module_get_ctx(module), &ldb_data, msg2);
free(tdb_data.dptr);
if (ret == -1) {
ret = LDB_ERR_OTHER;
diff --git a/lib/ldb/wscript b/lib/ldb/wscript
index 027c8cb..cb6b5c8 100755
--- a/lib/ldb/wscript
+++ b/lib/ldb/wscript
@@ -153,7 +153,6 @@ def build(bld):
pc_files='ldb.pc',
vnum=VERSION,
private_library=private_library,
- allow_warnings=True,
manpages='man/ldb.3',
abi_directory='ABI',
abi_match = abi_match)
@@ -255,7 +254,6 @@ def build(bld):
'common/ldb.c',
deps='tevent tdb',
includes='include',
- allow_warnings=True,
cflags=['-DLDB_MODULESDIR=\"%s\"' % modules_dir])
LDB_TOOLS='ldbadd ldbsearch ldbdel ldbmodify ldbedit ldbrename'
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index d1e36df..b9a3e20 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -414,8 +414,10 @@ const char **lpcfg_parm_string_list(TALLOC_CTX *mem_ctx,
{
const char *value = lpcfg_get_parametric(lp_ctx, service, type, option);
- if (value != NULL)
- return (const char **)str_list_make(mem_ctx, value, separator);
+ if (value != NULL) {
+ char **l = str_list_make(mem_ctx, value, separator);
+ return discard_const_p(const char *, l);
+ }
return NULL;
}
@@ -905,8 +907,8 @@ void copy_service(struct loadparm_service *pserviceDest,
case P_CMDLIST:
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);
+ *(char ***)dest_ptr = str_list_copy(pserviceDest,
+ *discard_const_p(const char **, src_ptr));
break;
default:
break;
@@ -1287,8 +1289,8 @@ bool handle_netbios_aliases(struct loadparm_context *lp_ctx, struct loadparm_ser
const char *pszParmValue, char **ptr)
{
TALLOC_FREE(lp_ctx->globals->netbios_aliases);
- lp_ctx->globals->netbios_aliases = (const char **)str_list_make_v3(lp_ctx->globals->ctx,
- pszParmValue, NULL);
+ lp_ctx->globals->netbios_aliases = str_list_make_v3_const(lp_ctx->globals->ctx,
+ pszParmValue, NULL);
if (lp_ctx->s3_fns) {
return lp_ctx->s3_fns->set_netbios_aliases(lp_ctx->globals->netbios_aliases);
@@ -1502,9 +1504,8 @@ static bool set_variable_helper(TALLOC_CTX *mem_ctx, int parmnum, void *parm_ptr
case P_CMDLIST:
TALLOC_FREE(*(char ***)parm_ptr);
- *(const char * const **)parm_ptr
- = (const char * const *)str_list_make_v3(mem_ctx,
- pszParmValue, NULL);
+ *(char ***)parm_ptr = str_list_make_v3(mem_ctx,
+ pszParmValue, NULL);
break;
case P_LIST:
@@ -1537,7 +1538,7 @@ static bool set_variable_helper(TALLOC_CTX *mem_ctx, int parmnum, void *parm_ptr
pszParmName, pszParmValue));
return false;
}
- *(const char * const **)parm_ptr = (const char * const *) new_list;
+ *(char ***)parm_ptr = new_list;
break;
}
}
@@ -2001,7 +2002,7 @@ static bool is_default(void *base_structure, int i)
case P_CMDLIST:
case P_LIST:
return str_list_equal((const char * const *)parm_table[i].def.lvalue,
- *(const char ***)def_ptr);
+ *(const char * const **)def_ptr);
case P_STRING:
case P_USTRING:
return strequal(parm_table[i].def.svalue,
diff --git a/lib/smbconf/smbconf.c b/lib/smbconf/smbconf.c
index 27d36ca..4129ea5 100644
--- a/lib/smbconf/smbconf.c
+++ b/lib/smbconf/smbconf.c
@@ -286,7 +286,7 @@ sbcErr smbconf_create_set_share(struct smbconf_ctx *ctx,
}
err = smbconf_set_includes(ctx, service->name, num_includes,
- (const char **)includes);
+ discard_const_p(const char *, includes));
if (!SBC_ERROR_IS_OK(err)) {
goto cancel;
}
diff --git a/lib/texpect/texpect.c b/lib/texpect/texpect.c
index ac88979..d788081 100644
--- a/lib/texpect/texpect.c
+++ b/lib/texpect/texpect.c
@@ -31,20 +31,10 @@
* SUCH DAMAGE.
*/
-#include "config.h"
+#include "replace.h"
+#include "system/filesys.h"
+#include "system/wait.h"
-#ifndef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
#ifdef HAVE_PTY_H
#include <pty.h>
#endif
@@ -60,9 +50,7 @@
#endif /* STREAMPTY */
#include <popt.h>
-#include <errno.h>
#include <err.h>
-#include <signal.h>
struct command {
enum { CMD_EXPECT = 0, CMD_SEND, CMD_PASSWORD } type;
@@ -370,8 +358,9 @@ int main(int argc, const char **argv)
pid_t pid;
poptContext pc;
const char *instruction_file;
+ const char **args;
const char *program;
- char* const *program_args;
+ char * const *program_args;
pc = poptGetContext("texpect",
argc,
@@ -389,7 +378,8 @@ int main(int argc, const char **argv)
}
instruction_file = poptGetArg(pc);
- program_args = poptGetArgs(pc);
+ args = poptGetArgs(pc);
+ program_args = (char * const *)discard_const_p(char *, args);
program = program_args[0];
if (opt_verbose) {
diff --git a/lib/util/charset/tests/iconv.c b/lib/util/charset/tests/iconv.c
index 06ace9b..30161d3 100644
--- a/lib/util/charset/tests/iconv.c
+++ b/lib/util/charset/tests/iconv.c
@@ -102,8 +102,10 @@ static unsigned int get_codepoint(char *buf, size_t size, const char *charset)
memset(out, 0, sizeof(out));
ret = iconv(cd, &buf, &size_in, &ptr_out, &size_out);
-
iconv_close(cd);
+ if (ret == (size_t) -1) {
+ return (unsigned int)-1;
+ }
return out[0] | (out[1]<<8) | (out[2]<<16) | (out[3]<<24);
}
@@ -132,7 +134,8 @@ static bool test_buffer(struct torture_context *test,
{
uint8_t buf1[1000], buf2[1000], buf3[1000];
size_t outsize1, outsize2, outsize3;
- char *ptr_in;
+ const char *ptr_in1;
+ char *ptr_in2;
char *ptr_out;
size_t size_in1, size_in2, size_in3;
size_t ret1, ret2, ret3, len1, len2;
@@ -174,25 +177,25 @@ static bool test_buffer(struct torture_context *test,
}
/* internal convert to charset - placing result in buf1 */
- ptr_in = (char *)inbuf;
+ ptr_in1 = (const char *)inbuf;
ptr_out = (char *)buf1;
size_in1 = size;
outsize1 = sizeof(buf1);
memset(ptr_out, 0, outsize1);
errno = 0;
- ret1 = smb_iconv(cd2, (const char **) &ptr_in, &size_in1, &ptr_out, &outsize1);
+ ret1 = smb_iconv(cd2, &ptr_in1, &size_in1, &ptr_out, &outsize1);
errno1 = errno;
/* system convert to charset - placing result in buf2 */
- ptr_in = (char *)inbuf;
+ ptr_in2 = (char *)inbuf;
ptr_out = (char *)buf2;
size_in2 = size;
outsize2 = sizeof(buf2);
memset(ptr_out, 0, outsize2);
errno = 0;
- ret2 = iconv(cd, &ptr_in, &size_in2, &ptr_out, &outsize2);
+ ret2 = iconv(cd, &ptr_in2, &size_in2, &ptr_out, &outsize2);
errno2 = errno;
len1 = sizeof(buf1) - outsize1;
@@ -247,13 +250,13 @@ static bool test_buffer(struct torture_context *test,
/* convert back to UTF-16, putting result in buf3 */
size = size - size_in1;
- ptr_in = (char *)buf1;
+ ptr_in1 = (const char *)buf1;
ptr_out = (char *)buf3;
size_in3 = len1;
outsize3 = sizeof(buf3);
memset(ptr_out, 0, outsize3);
- ret3 = smb_iconv(cd3, (const char **) &ptr_in, &size_in3, &ptr_out, &outsize3);
+ ret3 = smb_iconv(cd3, &ptr_in1, &size_in3, &ptr_out, &outsize3);
/* we only internally support the first 1M codepoints */
if (outsize3 != sizeof(buf3) - size &&
diff --git a/lib/util/samba_util.h b/lib/util/samba_util.h
index 41b3fc8..2f762ac 100644
--- a/lib/util/samba_util.h
+++ b/lib/util/samba_util.h
@@ -476,6 +476,10 @@ char **str_list_make_v3(TALLOC_CTX *mem_ctx, const char *string,
const char *sep);
+const char **str_list_make_v3_const(TALLOC_CTX *mem_ctx,
+ const char *string,
+ const char *sep);
+
/* The following definitions come from lib/util/util_file.c */
diff --git a/lib/util/tests/asn1_tests.c b/lib/util/tests/asn1_tests.c
index 2c68cb4..6dd7c64 100644
--- a/lib/util/tests/asn1_tests.c
+++ b/lib/util/tests/asn1_tests.c
@@ -111,47 +111,47 @@ static const struct {
int value;
} integer_tests[] = {
{
- .blob = {"\x02\x01\x00", 3},
+ .blob = { discard_const_p(uint8_t, "\x02\x01\x00"), 3},
.value = 0
},
{
- .blob = {"\x02\x01\x7f", 3},
+ .blob = { discard_const_p(uint8_t, "\x02\x01\x7f"), 3},
.value = 127
},
{
- .blob = {"\x02\x02\x00\x80", 4},
+ .blob = { discard_const_p(uint8_t, "\x02\x02\x00\x80"), 4},
.value = 128
},
{
- .blob = {"\x02\x02\x01\x00", 4},
+ .blob = { discard_const_p(uint8_t, "\x02\x02\x01\x00"), 4},
.value = 256
},
{
- .blob = {"\x02\x01\x80", 3},
+ .blob = { discard_const_p(uint8_t, "\x02\x01\x80"), 3},
.value = -128
},
{
- .blob = {"\x02\x02\xff\x7f", 4},
+ .blob = { discard_const_p(uint8_t, "\x02\x02\xff\x7f"), 4},
.value = -129
},
{
- .blob = {"\x02\x01\xff", 3},
+ .blob = { discard_const_p(uint8_t, "\x02\x01\xff"), 3},
.value = -1
},
{
- .blob = {"\x02\x02\xff\x01", 4},
+ .blob = { discard_const_p(uint8_t, "\x02\x02\xff\x01"), 4},
.value = -255
},
{
- .blob = {"\x02\x02\x00\xff", 4},
+ .blob = { discard_const_p(uint8_t, "\x02\x02\x00\xff"), 4},
.value = 255
},
{
- .blob = {"\x02\x04\x80\x00\x00\x00", 6},
+ .blob = { discard_const_p(uint8_t, "\x02\x04\x80\x00\x00\x00"), 6},
.value = 0x80000000
},
{
- .blob = {"\x02\x04\x7f\xff\xff\xff", 6},
+ .blob = { discard_const_p(uint8_t, "\x02\x04\x7f\xff\xff\xff"), 6},
.value = 0x7fffffff
}
};
diff --git a/lib/util/tests/strlist.c b/lib/util/tests/strlist.c
index 7df01d3..1718499 100644
--- a/lib/util/tests/strlist.c
+++ b/lib/util/tests/strlist.c
@@ -111,7 +111,8 @@ static bool test_lists_shell(struct torture_context *tctx, const void *data)
ret1 = str_list_make_shell(mem_ctx, element->list_as_string, element->separators);
torture_assert(tctx, ret1, "str_list_make_shell() must not return NULL");
- tmp = str_list_join_shell(mem_ctx, (const char **) ret1, element->separators ? *element->separators : ' ');
+ tmp = str_list_join_shell(mem_ctx, discard_const_p(const char *, ret1),
+ element->separators ? *element->separators : ' ');
ret2 = str_list_make_shell(mem_ctx, tmp, element->separators);
if ((ret1 == NULL || ret2 == NULL) && ret2 != ret1) {
@@ -161,18 +162,22 @@ static bool test_list_copy(struct torture_context *tctx)
const char *list[] = { "foo", "bar", NULL };
const char *empty_list[] = { NULL };
const char **null_list = NULL;
+ char **l;
- result = (const char **)str_list_copy(tctx, list);
+ l = str_list_copy(tctx, list);
+ result = discard_const_p(const char *, l);
torture_assert_int_equal(tctx, str_list_length(result), 2, "list length");
torture_assert_str_equal(tctx, result[0], "foo", "element 0");
torture_assert_str_equal(tctx, result[1], "bar", "element 1");
torture_assert_str_equal(tctx, result[2], NULL, "element 2");
- result = (const char **)str_list_copy(tctx, empty_list);
+ l = str_list_copy(tctx, empty_list);
+ result = discard_const_p(const char *, l);
torture_assert_int_equal(tctx, str_list_length(result), 0, "list length");
torture_assert_str_equal(tctx, result[0], NULL, "element 0");
- result = (const char **)str_list_copy(tctx, null_list);
+ l = str_list_copy(tctx, null_list);
+ result = discard_const_p(const char *, l);
torture_assert(tctx, result == NULL, "result NULL");
return true;
@@ -262,9 +267,12 @@ static bool test_list_add(struct torture_context *tctx)
"element_3",
NULL
};
- result = (const char **) str_list_make(tctx, "element_0, element_1, element_2", NULL);
+ char **l;
+
+ l = str_list_make(tctx, "element_0, element_1, element_2", NULL);
+ result = discard_const_p(const char *, l);
torture_assert(tctx, result, "str_list_make() must not return NULL");
- result2 = str_list_add((const char **) result, "element_3");
+ result2 = str_list_add(result, "element_3");
torture_assert(tctx, result2, "str_list_add() must not return NULL");
torture_assert(tctx, str_list_equal(result2, list),
"str_list_add() failed");
@@ -282,7 +290,10 @@ static bool test_list_add_const(struct torture_context *tctx)
"element_3",
NULL
};
- result = (const char **) str_list_make(tctx, "element_0, element_1, element_2", NULL);
+ char **l;
+
+ l = str_list_make(tctx, "element_0, element_1, element_2", NULL);
+ result = discard_const_p(const char *, l);
torture_assert(tctx, result, "str_list_make() must not return NULL");
result2 = str_list_add_const(result, "element_3");
torture_assert(tctx, result2, "str_list_add_const() must not return NULL");
@@ -301,7 +312,10 @@ static bool test_list_remove(struct torture_context *tctx)
"element_3",
NULL
};
- result = (const char **) str_list_make(tctx, "element_0, element_1, element_2, element_3", NULL);
+ char **l;
+
+ l = str_list_make(tctx, "element_0, element_1, element_2, element_3", NULL);
+ result = discard_const_p(const char *, l);
torture_assert(tctx, result, "str_list_make() must not return NULL");
str_list_remove(result, "element_2");
torture_assert(tctx, str_list_equal(result, list),
@@ -358,7 +372,10 @@ static bool test_list_unique(struct torture_context *tctx)
"element_2",
NULL
};
--
Samba Shared Repository
More information about the samba-cvs
mailing list