1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-02 09:47:23 +03:00

r17315: Make talloc and tdb C++-warning-free. Would this also be interesting in talloc

and tdb "upstream"?

Volker
(This used to be commit 68c43191c8aa4faa9801e0ab084a216ceaf4379d)
This commit is contained in:
Volker Lendecke 2006-07-30 10:42:11 +00:00 committed by Gerald (Jerry) Carter
parent 2c6030415e
commit 5a5deade6e
7 changed files with 41 additions and 31 deletions

View File

@ -111,7 +111,7 @@ struct talloc_chunk {
/* panic if we get a bad magic value */
static struct talloc_chunk *talloc_chunk_from_ptr(const void *ptr)
{
const char *pp = ptr;
const char *pp = (const char *)ptr;
struct talloc_chunk *tc = discard_const_p(struct talloc_chunk, pp - TC_HDR_SIZE);
if ((tc->flags & ~0xF) != TALLOC_MAGIC) {
TALLOC_ABORT("Bad talloc magic value - unknown value");
@ -181,7 +181,7 @@ void *_talloc(const void *context, size_t size)
return NULL;
}
tc = malloc(TC_HDR_SIZE+size);
tc = (struct talloc_chunk *)malloc(TC_HDR_SIZE+size);
if (tc == NULL) return NULL;
tc->size = size;
@ -234,7 +234,8 @@ void talloc_increase_ref_count(const void *ptr)
*/
static int talloc_reference_destructor(void *ptr)
{
struct talloc_reference_handle *handle = ptr;
struct talloc_reference_handle *handle =
(struct talloc_reference_handle *)ptr;
struct talloc_chunk *tc1 = talloc_chunk_from_ptr(ptr);
struct talloc_chunk *tc2 = talloc_chunk_from_ptr(handle->ptr);
if (tc1->destructor != (talloc_destructor_t)-1) {
@ -261,7 +262,8 @@ void *talloc_reference(const void *context, const void *ptr)
if (ptr == NULL) return NULL;
tc = talloc_chunk_from_ptr(ptr);
handle = talloc_named_const(context, sizeof(*handle), TALLOC_MAGIC_REFERENCE);
handle = (struct talloc_reference_handle *)talloc_named_const(
context, sizeof(*handle), TALLOC_MAGIC_REFERENCE);
if (handle == NULL) return NULL;
@ -543,7 +545,7 @@ int talloc_free(void *ptr)
if (tc->refs) {
int is_child;
struct talloc_reference_handle *handle = tc->refs;
is_child = talloc_is_parent(handle, handle->ptr);
is_child = talloc_is_parent(handle, (const char *)handle->ptr);
talloc_reference_destructor(tc->refs);
if (is_child) {
return talloc_free(ptr);
@ -639,13 +641,13 @@ void *_talloc_realloc(const void *context, void *ptr, size_t size, const char *n
return NULL;
}
tc = new_ptr;
tc = (struct talloc_chunk *)new_ptr;
tc->flags &= ~TALLOC_FLAG_FREE;
if (tc->parent) {
tc->parent->child = new_ptr;
tc->parent->child = (struct talloc_chunk *)new_ptr;
}
if (tc->child) {
tc->child->parent = new_ptr;
tc->child->parent = (struct talloc_chunk *)new_ptr;
}
if (tc->prev) {
@ -805,7 +807,8 @@ void talloc_report_depth(const void *ptr, FILE *f, int depth)
for (c=tc->child;c;c=c->next) {
if (c->name == TALLOC_MAGIC_REFERENCE) {
struct talloc_reference_handle *handle = TC_PTR_FROM_CHUNK(c);
struct talloc_reference_handle *handle =
(struct talloc_reference_handle *)TC_PTR_FROM_CHUNK(c);
const char *name2 = talloc_get_name(handle->ptr);
fprintf(f, "%*sreference to: %s\n", depth*4, "", name2);
} else {
@ -927,7 +930,8 @@ static void talloc_report_depth_str(const void *ptr, char **pps, ssize_t *plen,
for (c=tc->child;c;c=c->next) {
if (c->name == TALLOC_MAGIC_REFERENCE) {
struct talloc_reference_handle *handle = TC_PTR_FROM_CHUNK(c);
struct talloc_reference_handle *handle =
(struct talloc_reference_handle *)TC_PTR_FROM_CHUNK(c);
const char *name2 = talloc_get_name(handle->ptr);
sprintf_append(NULL, pps, plen, pbuflen,
@ -1033,7 +1037,7 @@ char *talloc_strdup(const void *t, const char *p)
if (!p) {
return NULL;
}
ret = talloc_memdup(t, p, strlen(p) + 1);
ret = (char *)talloc_memdup(t, p, strlen(p) + 1);
if (ret) {
talloc_set_name_const(ret, ret);
}
@ -1074,7 +1078,7 @@ char *talloc_strndup(const void *t, const char *p, size_t n)
for (len=0; len<n && p[len]; len++) ;
ret = _talloc(t, len + 1);
ret = (char *)_talloc(t, len + 1);
if (!ret) { return NULL; }
memcpy(ret, p, len);
ret[len] = 0;
@ -1106,7 +1110,7 @@ char *talloc_vasprintf(const void *t, const char *fmt, va_list ap)
return NULL;
}
ret = _talloc(t, len+1);
ret = (char *)_talloc(t, len+1);
if (ret) {
VA_COPY(ap2, ap);
vsnprintf(ret, len+1, fmt, ap2);

View File

@ -124,7 +124,7 @@ static int tdb_write(struct tdb_context *tdb, tdb_off_t off,
/* Endian conversion: we only ever deal with 4 byte quantities */
void *tdb_convert(void *buf, u32 size)
{
u32 i, *p = buf;
u32 i, *p = (u32 *)buf;
for (i = 0; i < size / 4; i++)
p[i] = TDB_BYTEREV(p[i]);
return buf;
@ -304,7 +304,8 @@ int tdb_expand(struct tdb_context *tdb, tdb_off_t size)
tdb->map_size += size;
if (tdb->flags & TDB_INTERNAL) {
char *new_map_ptr = realloc(tdb->map_ptr, tdb->map_size);
char *new_map_ptr = (char *)realloc(tdb->map_ptr,
tdb->map_size);
if (!new_map_ptr) {
tdb->map_size -= size;
goto fail;
@ -360,7 +361,7 @@ char *tdb_alloc_read(struct tdb_context *tdb, tdb_off_t offset, tdb_len_t len)
len = 1;
}
if (!(buf = malloc(len))) {
if (!(buf = (char *)malloc(len))) {
/* Ensure ecode is set for log fn. */
tdb->ecode = TDB_ERR_OOM;
TDB_LOG((tdb, 0,"tdb_alloc_read malloc failed len=%d (%s)\n",

View File

@ -54,7 +54,7 @@ static int tdb_new_database(struct tdb_context *tdb, int hash_size)
/* We make it up in memory, then write it out if not internal */
size = sizeof(struct tdb_header) + (hash_size+1)*sizeof(tdb_off_t);
if (!(newdb = calloc(size, 1)))
if (!(newdb = (struct tdb_header *)calloc(size, 1)))
return TDB_ERRCODE(TDB_ERR_OOM, -1);
/* Fill in the header */
@ -139,7 +139,7 @@ struct tdb_context *tdb_open_ex(const char *name, int hash_size, int tdb_flags,
unsigned char *vp;
u32 vertest;
if (!(tdb = calloc(1, sizeof *tdb))) {
if (!(tdb = (struct tdb_context *)calloc(1, sizeof *tdb))) {
/* Can't log this */
errno = ENOMEM;
goto fail;
@ -257,7 +257,8 @@ struct tdb_context *tdb_open_ex(const char *name, int hash_size, int tdb_flags,
tdb->map_size = st.st_size;
tdb->device = st.st_dev;
tdb->inode = st.st_ino;
tdb->locked = calloc(tdb->header.hash_size+1, sizeof(tdb->locked[0]));
tdb->locked = (struct tdb_lock_type *)calloc(tdb->header.hash_size+1,
sizeof(tdb->locked[0]));
if (!tdb->locked) {
TDB_LOG((tdb, 2, "tdb_open_ex: "
"failed to allocate lock structure for %s\n",

View File

@ -355,9 +355,10 @@ int tdb_append(struct tdb_context *tdb, TDB_DATA key, TDB_DATA new_dbuf)
dbuf = tdb_fetch(tdb, key);
if (dbuf.dptr == NULL) {
dbuf.dptr = malloc(new_dbuf.dsize);
dbuf.dptr = (char *)malloc(new_dbuf.dsize);
} else {
dbuf.dptr = realloc(dbuf.dptr, dbuf.dsize + new_dbuf.dsize);
dbuf.dptr = (char *)realloc(dbuf.dptr,
dbuf.dsize + new_dbuf.dsize);
}
if (dbuf.dptr == NULL) {

View File

@ -63,7 +63,7 @@ char *add_suffix(const char *name, const char *suffix)
{
char *ret;
int len = strlen(name) + strlen(suffix) + 1;
ret = malloc(len);
ret = (char *)malloc(len);
if (!ret) {
fprintf(stderr,"Out of memory!\n");
exit(1);

View File

@ -209,7 +209,7 @@ int tdb_store_int32_byblob(TDB_CONTEXT *tdb, const char *keystr, size_t len, int
int32 v_store;
SIVAL(&v_store,0,v);
data.dptr = (void *)&v_store;
data.dptr = (char *)&v_store;
data.dsize = sizeof(int32);
return tdb_store(tdb, key, data, TDB_REPLACE);
@ -269,7 +269,7 @@ BOOL tdb_store_uint32_byblob(TDB_CONTEXT *tdb, const char *keystr, size_t len, u
BOOL ret = True;
SIVAL(&v_store, 0, value);
data.dptr = (void *)&v_store;
data.dptr = (char *)&v_store;
data.dsize = sizeof(uint32);
if (tdb_store(tdb, key, data, TDB_REPLACE) == -1)

View File

@ -258,7 +258,8 @@ static int transaction_write(struct tdb_context *tdb, tdb_off_t off,
off > tdb->transaction->old_map_size)) {
unsigned char *data = best_el->data;
el = best_el;
el->data = realloc(el->data, el->length + len);
el->data = (unsigned char *)realloc(el->data,
el->length + len);
if (el->data == NULL) {
tdb->ecode = TDB_ERR_OOM;
tdb->transaction->transaction_error = 1;
@ -275,7 +276,7 @@ static int transaction_write(struct tdb_context *tdb, tdb_off_t off,
}
/* add a new entry at the end of the list */
el = malloc(sizeof(*el));
el = (struct tdb_transaction_el *)malloc(sizeof(*el));
if (el == NULL) {
tdb->ecode = TDB_ERR_OOM;
tdb->transaction->transaction_error = 1;
@ -285,7 +286,7 @@ static int transaction_write(struct tdb_context *tdb, tdb_off_t off,
el->prev = tdb->transaction->elements_last;
el->offset = off;
el->length = len;
el->data = malloc(len);
el->data = (unsigned char *)malloc(len);
if (el->data == NULL) {
free(el);
tdb->ecode = TDB_ERR_OOM;
@ -411,7 +412,8 @@ int tdb_transaction_start(struct tdb_context *tdb)
return -1;
}
tdb->transaction = calloc(sizeof(struct tdb_transaction), 1);
tdb->transaction = (struct tdb_transaction *)
calloc(sizeof(struct tdb_transaction), 1);
if (tdb->transaction == NULL) {
tdb->ecode = TDB_ERR_OOM;
return -1;
@ -437,7 +439,8 @@ int tdb_transaction_start(struct tdb_context *tdb)
/* setup a copy of the hash table heads so the hash scan in
traverse can be fast */
tdb->transaction->hash_heads = calloc(tdb->header.hash_size+1, sizeof(tdb_off_t));
tdb->transaction->hash_heads = (unsigned int *)
calloc(tdb->header.hash_size+1, sizeof(tdb_off_t));
if (tdb->transaction->hash_heads == NULL) {
tdb->ecode = TDB_ERR_OOM;
goto fail;
@ -678,7 +681,7 @@ static int transaction_setup_recovery(struct tdb_context *tdb,
return -1;
}
data = malloc(recovery_size + sizeof(*rec));
data = (unsigned char *)malloc(recovery_size + sizeof(*rec));
if (data == NULL) {
tdb->ecode = TDB_ERR_OOM;
return -1;
@ -960,7 +963,7 @@ int tdb_transaction_recover(struct tdb_context *tdb)
recovery_eof = rec.key_len;
data = malloc(rec.data_len);
data = (unsigned char *)malloc(rec.data_len);
if (data == NULL) {
TDB_LOG((tdb, 0, "tdb_transaction_recover: failed to allocate recovery data\n"));
tdb->ecode = TDB_ERR_OOM;