--- Convert-BER-XS/XS.xs 2019/04/20 11:12:47 1.10 +++ Convert-BER-XS/XS.xs 2019/04/20 12:25:23 1.11 @@ -201,8 +201,8 @@ { ASN_UNIVERSAL, ASN_UNIVERSAL_STRING , BER_TYPE_UCS4 }, }; - for (celem = default_map + sizeof (default_map) / sizeof (default_map [0]); celem > default_map; celem--) - profile_set ((void *)sv, celem->klass, celem->tag, celem->type); + for (celem = default_map + sizeof (default_map) / sizeof (default_map [0]); celem-- > default_map; ) + profile_set ((profile_type *)sv, celem->klass, celem->tag, celem->type); return sv_bless (newRV_noinc (sv), profile_stash); } @@ -345,11 +345,13 @@ while (u); // reverse digits - for (char *ptr = buf; --ptr != beg; ++beg) + char *ptr = buf; + while (--ptr != beg) { char c = *ptr; *ptr = *beg; *beg = c; + ++beg; } } @@ -870,7 +872,8 @@ if (expect_false (SvRMAGICAL (av))) croak ("BER constructed data must not be tied"); - for (int i = 0; i <= fill; ++i) + int i; + for (i = 0; i <= fill; ++i) encode_ber (AvARRAY (av)[i]); len_fixup (mark);