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:
parent
2c6030415e
commit
5a5deade6e
@ -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);
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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) {
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user