3434#undef ADVANCE
3535#define ADVANCE (num_bytes )do {\
3636size_t num = num_bytes;\
37- ptr = ((constvoid *)ptr) + num;\
37+ ptr = ((constchar *)ptr) + num;\
3838size -= num;\
3939if(ctx->left >= 0)\
4040ctx->left -= num;\
@@ -133,7 +133,7 @@ CHOICE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
133133/*
134134 * Restore parsing context.
135135 */
136- ctx = (asn_struct_ctx_t * )((void * )st + specs -> ctx_offset );
136+ ctx = (asn_struct_ctx_t * )((char * )st + specs -> ctx_offset );
137137
138138/*
139139 * Start to parse where left previously
@@ -211,7 +211,7 @@ CHOICE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
211211
212212skip = ber_skip_length (opt_codec_ctx ,
213213BER_TLV_CONSTRUCTED (ptr ),
214- (const void * )ptr + tag_len ,
214+ (const char * )ptr + tag_len ,
215215LEFT - tag_len );
216216
217217switch (skip ) {
@@ -244,7 +244,7 @@ CHOICE_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
244244 */
245245if (elm -> flags & ATF_POINTER ) {
246246/* Member is a pointer to another structure */
247- memb_ptr2 = (void * * )((void * )st + elm -> memb_offset );
247+ memb_ptr2 = (void * * )((char * )st + elm -> memb_offset );
248248}else {
249249/*
250250 * A pointer to a pointer
@@ -390,7 +390,7 @@ CHOICE_encode_der(asn_TYPE_descriptor_t *td, void *sptr,
390390 */
391391elm = & td -> elements [present - 1 ];
392392if (elm -> flags & ATF_POINTER ) {
393- memb_ptr = * (void * * )((void * )sptr + elm -> memb_offset );
393+ memb_ptr = * (void * * )((char * )sptr + elm -> memb_offset );
394394if (memb_ptr == 0 ) {
395395if (elm -> optional ) {
396396erval .encoded = 0 ;
@@ -400,7 +400,7 @@ CHOICE_encode_der(asn_TYPE_descriptor_t *td, void *sptr,
400400_ASN_ENCODE_FAILED ;
401401}
402402}else {
403- memb_ptr = (void * )((void * )sptr + elm -> memb_offset );
403+ memb_ptr = (void * )((char * )sptr + elm -> memb_offset );
404404}
405405
406406/*
@@ -463,10 +463,10 @@ CHOICE_outmost_tag(asn_TYPE_descriptor_t *td, const void *ptr, int tag_mode, ber
463463
464464if (elm -> flags & ATF_POINTER ) {
465465memb_ptr = * (const void * const * )
466- ((const void * )ptr + elm -> memb_offset );
466+ ((const char * )ptr + elm -> memb_offset );
467467}else {
468468memb_ptr = (const void * )
469- ((const void * )ptr + elm -> memb_offset );
469+ ((const char * )ptr + elm -> memb_offset );
470470}
471471
472472return asn_TYPE_outmost_tag (elm -> type ,memb_ptr ,
@@ -498,7 +498,7 @@ CHOICE_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
498498const void * memb_ptr ;
499499
500500if (elm -> flags & ATF_POINTER ) {
501- memb_ptr = * (const void * const * )((const void * )sptr + elm -> memb_offset );
501+ memb_ptr = * (const void * const * )((const char * )sptr + elm -> memb_offset );
502502if (!memb_ptr ) {
503503if (elm -> optional )
504504return 0 ;
@@ -508,7 +508,7 @@ CHOICE_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
508508return -1 ;
509509}
510510}else {
511- memb_ptr = (const void * )((const void * )sptr + elm -> memb_offset );
511+ memb_ptr = (const void * )((const char * )sptr + elm -> memb_offset );
512512}
513513
514514if (elm -> memb_constraints ) {
@@ -535,7 +535,7 @@ CHOICE_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
535535#undef XER_ADVANCE
536536#define XER_ADVANCE (num_bytes )do {\
537537size_t num = num_bytes;\
538- buf_ptr = (( const void *)buf_ptr) + num; \
538+ buf_ptr = (const void *)(((const char *) buf_ptr) + num); \
539539size -= num;\
540540consumed_myself += num;\
541541} while(0)
@@ -574,7 +574,7 @@ CHOICE_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
574574/*
575575 * Restore parsing context.
576576 */
577- ctx = (asn_struct_ctx_t * )((void * )st + specs -> ctx_offset );
577+ ctx = (asn_struct_ctx_t * )((char * )st + specs -> ctx_offset );
578578if (ctx -> phase == 0 && !* xml_tag )
579579ctx -> phase = 1 ;/* Skip the outer tag checking phase */
580580
@@ -605,7 +605,7 @@ CHOICE_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
605605
606606if (elm -> flags & ATF_POINTER ) {
607607/* Member is a pointer to another structure */
608- memb_ptr2 = (void * * )((void * )st
608+ memb_ptr2 = (void * * )((char * )st
609609+ elm -> memb_offset );
610610}else {
611611memb_ptr = (char * )st + elm -> memb_offset ;
@@ -797,10 +797,10 @@ CHOICE_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
797797unsignedint mlen = strlen (mname );
798798
799799if (elm -> flags & ATF_POINTER ) {
800- memb_ptr = * (void * * )((void * )sptr + elm -> memb_offset );
800+ memb_ptr = * (void * * )((char * )sptr + elm -> memb_offset );
801801if (!memb_ptr )_ASN_ENCODE_FAILED ;
802802}else {
803- memb_ptr = (void * )((void * )sptr + elm -> memb_offset );
803+ memb_ptr = (void * )((char * )sptr + elm -> memb_offset );
804804}
805805
806806er .encoded = 0 ;
@@ -884,7 +884,7 @@ CHOICE_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
884884elm = & td -> elements [value ];
885885if (elm -> flags & ATF_POINTER ) {
886886/* Member is a pointer to another structure */
887- memb_ptr2 = (void * * )((void * )st + elm -> memb_offset );
887+ memb_ptr2 = (void * * )((char * )st + elm -> memb_offset );
888888}else {
889889memb_ptr = (char * )st + elm -> memb_offset ;
890890memb_ptr2 = & memb_ptr ;
@@ -962,7 +962,7 @@ CHOICE_encode_uper(asn_TYPE_descriptor_t *td,
962962elm = & td -> elements [present ];
963963if (elm -> flags & ATF_POINTER ) {
964964/* Member is a pointer to another structure */
965- memb_ptr = * (void * * )((void * )sptr + elm -> memb_offset );
965+ memb_ptr = * (void * * )((char * )sptr + elm -> memb_offset );
966966if (!memb_ptr )_ASN_ENCODE_FAILED ;
967967}else {
968968memb_ptr = (char * )sptr + elm -> memb_offset ;
@@ -1010,10 +1010,10 @@ CHOICE_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
10101010const void * memb_ptr ;
10111011
10121012if (elm -> flags & ATF_POINTER ) {
1013- memb_ptr = * (const void * const * )((const void * )sptr + elm -> memb_offset );
1013+ memb_ptr = * (const void * const * )((const char * )sptr + elm -> memb_offset );
10141014if (!memb_ptr )return (cb ("<absent>" ,8 ,app_key )< 0 ) ?-1 :0 ;
10151015}else {
1016- memb_ptr = (const void * )((const void * )sptr + elm -> memb_offset );
1016+ memb_ptr = (const void * )((const char * )sptr + elm -> memb_offset );
10171017}
10181018
10191019/* Print member's name and stuff */
@@ -1053,11 +1053,11 @@ CHOICE_free(asn_TYPE_descriptor_t *td, void *ptr, int contents_only) {
10531053void * memb_ptr ;
10541054
10551055if (elm -> flags & ATF_POINTER ) {
1056- memb_ptr = * (void * * )((void * )ptr + elm -> memb_offset );
1056+ memb_ptr = * (void * * )((char * )ptr + elm -> memb_offset );
10571057if (memb_ptr )
10581058ASN_STRUCT_FREE (* elm -> type ,memb_ptr );
10591059}else {
1060- memb_ptr = (void * )((void * )ptr + elm -> memb_offset );
1060+ memb_ptr = (void * )((char * )ptr + elm -> memb_offset );
10611061ASN_STRUCT_FREE_CONTENTS_ONLY (* elm -> type ,memb_ptr );
10621062}
10631063}
@@ -1082,7 +1082,7 @@ _fetch_present_idx(const void *struct_ptr, int pres_offset, int pres_size) {
10821082const void * present_ptr ;
10831083int present ;
10841084
1085- present_ptr = ((const void * )struct_ptr )+ pres_offset ;
1085+ present_ptr = ((const char * )struct_ptr )+ pres_offset ;
10861086
10871087switch (pres_size ) {
10881088case sizeof (int ):present = * (const int * )present_ptr ;break ;
@@ -1100,7 +1100,7 @@ _fetch_present_idx(const void *struct_ptr, int pres_offset, int pres_size) {
11001100static void
11011101_set_present_idx (void * struct_ptr ,int pres_offset ,int pres_size ,int present ) {
11021102void * present_ptr ;
1103- present_ptr = ((void * )struct_ptr )+ pres_offset ;
1103+ present_ptr = ((char * )struct_ptr )+ pres_offset ;
11041104
11051105switch (pres_size ) {
11061106case sizeof (int ):* (int * )present_ptr = present ;break ;