summaryrefslogtreecommitdiff
path: root/source3/lib
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2005-12-03 06:46:46 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:05:42 -0500
commitd1f91f7c723733113b4e9792042101c80dfc064c (patch)
tree51943d49138b8e91334756ce602849ed27bbb1c5 /source3/lib
parent03b77baa6f20b8eaa450e67b0e0e1ad6f5b686be (diff)
downloadsamba-d1f91f7c723733113b4e9792042101c80dfc064c.tar.gz
samba-d1f91f7c723733113b4e9792042101c80dfc064c.tar.bz2
samba-d1f91f7c723733113b4e9792042101c80dfc064c.zip
r12043: It's amazing the warnings you find when compiling on a 64-bit
box with gcc4 and -O6... Fix a bunch of C99 dereferencing type-punned pointer will break strict-aliasing rules errors. Also added prs_int32 (not uint32...) as it's needed in one place. Find places where prs_uint32 was being used to marshall/unmarshall a time_t (a big no no on 64-bits). More warning fixes to come. Thanks to Volker for nudging me to compile like this. Jeremy. (This used to be commit c65b752604f8f58abc4e7ae8514dc2c7f086271c)
Diffstat (limited to 'source3/lib')
-rw-r--r--source3/lib/charcnv.c2
-rw-r--r--source3/lib/clobber.c2
-rw-r--r--source3/lib/crc32.c2
-rw-r--r--source3/lib/util_file.c2
4 files changed, 4 insertions, 4 deletions
diff --git a/source3/lib/charcnv.c b/source3/lib/charcnv.c
index 4fbad0f3d1..0c806167f4 100644
--- a/source3/lib/charcnv.c
+++ b/source3/lib/charcnv.c
@@ -781,7 +781,7 @@ size_t unix_strlower(const char *src, size_t srclen, char *dest, size_t destlen)
smb_ucs2_t *buffer = NULL;
size = convert_string_allocate(NULL, CH_UNIX, CH_UCS2, src, srclen,
- (void **) &buffer, True);
+ (void **)(void *)&buffer, True);
if (size == (size_t)-1 || !buffer) {
smb_panic("failed to create UCS2 buffer");
}
diff --git a/source3/lib/clobber.c b/source3/lib/clobber.c
index fb3a0dc281..54b24ffed3 100644
--- a/source3/lib/clobber.c
+++ b/source3/lib/clobber.c
@@ -54,7 +54,7 @@ void clobber_region(const char *fn, unsigned int line, char *dest, size_t len)
* (This is not redundant with the clobbering above. The
* marking might not actually take effect if we're not running
* under valgrind.) */
- VALGRIND_MAKE_WRITABLE(dest, len);
+// VALGRIND_MAKE_WRITABLE(dest, len);
#endif /* VALGRIND */
#endif /* DEVELOPER */
}
diff --git a/source3/lib/crc32.c b/source3/lib/crc32.c
index 7522ab7c81..a4ae90c469 100644
--- a/source3/lib/crc32.c
+++ b/source3/lib/crc32.c
@@ -93,7 +93,7 @@ uint32 crc32_calc_buffer(const char *buf, size_t size)
const unsigned char *p;
uint32 crc;
- p = buf;
+ p = (const unsigned char *)buf;
crc = ~0U;
while (size--)
diff --git a/source3/lib/util_file.c b/source3/lib/util_file.c
index 963d610bef..407a8b24fc 100644
--- a/source3/lib/util_file.c
+++ b/source3/lib/util_file.c
@@ -525,7 +525,7 @@ static char **file_lines_parse(char *p, size_t size, int *numlines)
char **file_lines_load(const char *fname, int *numlines)
{
char *p;
- size_t size;
+ size_t size = 0;
p = file_load(fname, &size);
if (!p) {