pointer warning fixes
diff --git a/skeletons/constr_CHOICE.c b/skeletons/constr_CHOICE.c
index 73a5147..5a1e0d3 100644
--- a/skeletons/constr_CHOICE.c
+++ b/skeletons/constr_CHOICE.c
@@ -34,7 +34,7 @@
#undef ADVANCE
#define ADVANCE(num_bytes) do { \
size_t num = num_bytes; \
- ptr = ((const void *)ptr) + num;\
+ ptr = ((const char *)ptr) + num;\
size -= num; \
if(ctx->left >= 0) \
ctx->left -= num; \
@@ -133,7 +133,7 @@
/*
* Restore parsing context.
*/
- ctx = (asn_struct_ctx_t *)((void *)st + specs->ctx_offset);
+ ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset);
/*
* Start to parse where left previously
@@ -211,7 +211,7 @@
skip = ber_skip_length(opt_codec_ctx,
BER_TLV_CONSTRUCTED(ptr),
- (const void *)ptr + tag_len,
+ (const char *)ptr + tag_len,
LEFT - tag_len);
switch(skip) {
@@ -244,7 +244,7 @@
*/
if(elm->flags & ATF_POINTER) {
/* Member is a pointer to another structure */
- memb_ptr2 = (void **)((void *)st + elm->memb_offset);
+ memb_ptr2 = (void **)((char *)st + elm->memb_offset);
} else {
/*
* A pointer to a pointer
@@ -390,7 +390,7 @@
*/
elm = &td->elements[present-1];
if(elm->flags & ATF_POINTER) {
- memb_ptr = *(void **)((void *)sptr + elm->memb_offset);
+ memb_ptr = *(void **)((char *)sptr + elm->memb_offset);
if(memb_ptr == 0) {
if(elm->optional) {
erval.encoded = 0;
@@ -400,7 +400,7 @@
_ASN_ENCODE_FAILED;
}
} else {
- memb_ptr = (void *)((void *)sptr + elm->memb_offset);
+ memb_ptr = (void *)((char *)sptr + elm->memb_offset);
}
/*
@@ -463,10 +463,10 @@
if(elm->flags & ATF_POINTER) {
memb_ptr = *(const void * const *)
- ((const void *)ptr + elm->memb_offset);
+ ((const char *)ptr + elm->memb_offset);
} else {
memb_ptr = (const void *)
- ((const void *)ptr + elm->memb_offset);
+ ((const char *)ptr + elm->memb_offset);
}
return asn_TYPE_outmost_tag(elm->type, memb_ptr,
@@ -498,7 +498,7 @@
const void *memb_ptr;
if(elm->flags & ATF_POINTER) {
- memb_ptr = *(const void * const *)((const void *)sptr + elm->memb_offset);
+ memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset);
if(!memb_ptr) {
if(elm->optional)
return 0;
@@ -508,7 +508,7 @@
return -1;
}
} else {
- memb_ptr = (const void *)((const void *)sptr + elm->memb_offset);
+ memb_ptr = (const void *)((const char *)sptr + elm->memb_offset);
}
if(elm->memb_constraints) {
@@ -535,7 +535,7 @@
#undef XER_ADVANCE
#define XER_ADVANCE(num_bytes) do { \
size_t num = num_bytes; \
- buf_ptr = ((const void *)buf_ptr) + num;\
+ buf_ptr = (const void *)(((const char *)buf_ptr) + num); \
size -= num; \
consumed_myself += num; \
} while(0)
@@ -574,7 +574,7 @@
/*
* Restore parsing context.
*/
- ctx = (asn_struct_ctx_t *)((void *)st + specs->ctx_offset);
+ ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset);
if(ctx->phase == 0 && !*xml_tag)
ctx->phase = 1; /* Skip the outer tag checking phase */
@@ -605,7 +605,7 @@
if(elm->flags & ATF_POINTER) {
/* Member is a pointer to another structure */
- memb_ptr2 = (void **)((void *)st
+ memb_ptr2 = (void **)((char *)st
+ elm->memb_offset);
} else {
memb_ptr = (char *)st + elm->memb_offset;
@@ -797,10 +797,10 @@
unsigned int mlen = strlen(mname);
if(elm->flags & ATF_POINTER) {
- memb_ptr = *(void **)((void *)sptr + elm->memb_offset);
+ memb_ptr = *(void **)((char *)sptr + elm->memb_offset);
if(!memb_ptr) _ASN_ENCODE_FAILED;
} else {
- memb_ptr = (void *)((void *)sptr + elm->memb_offset);
+ memb_ptr = (void *)((char *)sptr + elm->memb_offset);
}
er.encoded = 0;
@@ -884,7 +884,7 @@
elm = &td->elements[value];
if(elm->flags & ATF_POINTER) {
/* Member is a pointer to another structure */
- memb_ptr2 = (void **)((void *)st + elm->memb_offset);
+ memb_ptr2 = (void **)((char *)st + elm->memb_offset);
} else {
memb_ptr = (char *)st + elm->memb_offset;
memb_ptr2 = &memb_ptr;
@@ -962,7 +962,7 @@
elm = &td->elements[present];
if(elm->flags & ATF_POINTER) {
/* Member is a pointer to another structure */
- memb_ptr = *(void **)((void *)sptr + elm->memb_offset);
+ memb_ptr = *(void **)((char *)sptr + elm->memb_offset);
if(!memb_ptr) _ASN_ENCODE_FAILED;
} else {
memb_ptr = (char *)sptr + elm->memb_offset;
@@ -1010,10 +1010,10 @@
const void *memb_ptr;
if(elm->flags & ATF_POINTER) {
- memb_ptr = *(const void * const *)((const void *)sptr + elm->memb_offset);
+ memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset);
if(!memb_ptr) return (cb("<absent>", 8, app_key) < 0) ? -1 : 0;
} else {
- memb_ptr = (const void *)((const void *)sptr + elm->memb_offset);
+ memb_ptr = (const void *)((const char *)sptr + elm->memb_offset);
}
/* Print member's name and stuff */
@@ -1053,11 +1053,11 @@
void *memb_ptr;
if(elm->flags & ATF_POINTER) {
- memb_ptr = *(void **)((void *)ptr + elm->memb_offset);
+ memb_ptr = *(void **)((char *)ptr + elm->memb_offset);
if(memb_ptr)
ASN_STRUCT_FREE(*elm->type, memb_ptr);
} else {
- memb_ptr = (void *)((void *)ptr + elm->memb_offset);
+ memb_ptr = (void *)((char *)ptr + elm->memb_offset);
ASN_STRUCT_FREE_CONTENTS_ONLY(*elm->type, memb_ptr);
}
}
@@ -1082,7 +1082,7 @@
const void *present_ptr;
int present;
- present_ptr = ((const void *)struct_ptr) + pres_offset;
+ present_ptr = ((const char *)struct_ptr) + pres_offset;
switch(pres_size) {
case sizeof(int): present = *(const int *)present_ptr; break;
@@ -1100,7 +1100,7 @@
static void
_set_present_idx(void *struct_ptr, int pres_offset, int pres_size, int present) {
void *present_ptr;
- present_ptr = ((void *)struct_ptr) + pres_offset;
+ present_ptr = ((char *)struct_ptr) + pres_offset;
switch(pres_size) {
case sizeof(int): *(int *)present_ptr = present; break;