diff options
author | Nobuyoshi Nakada <[email protected]> | 2021-10-21 21:52:17 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <[email protected]> | 2021-10-22 12:47:34 +0900 |
commit | 4446942f1ab79b9687b009936d5365cfa846258f () | |
tree | fd899b67c3a49c630dec0aec8165441bd1568be7 /pack.c | |
parent | 6469038ae2ca8a5f0ea8c1274030996240e7df70 (diff) |
Extract UNPACK_FETCH
-rw-r--r-- | pack.c | 28 |
1 files changed, 10 insertions, 18 deletions
@@ -962,6 +962,8 @@ pack_unpack_internal(VALUE str, VALUE fmt, int mode) p = RSTRING_PTR(fmt); pend = p + RSTRING_LEN(fmt); ary = mode == UNPACK_ARRAY ? rb_ary_new() : Qnil; while (p < pend) { int explicit_endian = 0; @@ -1271,8 +1273,7 @@ pack_unpack_internal(VALUE str, VALUE fmt, int mode) PACK_LENGTH_ADJUST_SIZE(sizeof(float)); while (len-- > 0) { float tmp; - memcpy(&tmp, s, sizeof(float)); - s += sizeof(float); UNPACK_PUSH(DBL2NUM((double)tmp)); } PACK_ITEM_ADJUST(); @@ -1282,8 +1283,7 @@ pack_unpack_internal(VALUE str, VALUE fmt, int mode) PACK_LENGTH_ADJUST_SIZE(sizeof(float)); while (len-- > 0) { FLOAT_CONVWITH(tmp); - memcpy(tmp.buf, s, sizeof(float)); - s += sizeof(float); VTOHF(tmp); UNPACK_PUSH(DBL2NUM(tmp.f)); } @@ -1294,8 +1294,7 @@ pack_unpack_internal(VALUE str, VALUE fmt, int mode) PACK_LENGTH_ADJUST_SIZE(sizeof(double)); while (len-- > 0) { DOUBLE_CONVWITH(tmp); - memcpy(tmp.buf, s, sizeof(double)); - s += sizeof(double); VTOHD(tmp); UNPACK_PUSH(DBL2NUM(tmp.d)); } @@ -1307,8 +1306,7 @@ pack_unpack_internal(VALUE str, VALUE fmt, int mode) PACK_LENGTH_ADJUST_SIZE(sizeof(double)); while (len-- > 0) { double tmp; - memcpy(&tmp, s, sizeof(double)); - s += sizeof(double); UNPACK_PUSH(DBL2NUM(tmp)); } PACK_ITEM_ADJUST(); @@ -1318,8 +1316,7 @@ pack_unpack_internal(VALUE str, VALUE fmt, int mode) PACK_LENGTH_ADJUST_SIZE(sizeof(float)); while (len-- > 0) { FLOAT_CONVWITH(tmp); - memcpy(tmp.buf, s, sizeof(float)); - s += sizeof(float); NTOHF(tmp); UNPACK_PUSH(DBL2NUM(tmp.f)); } @@ -1330,8 +1327,7 @@ pack_unpack_internal(VALUE str, VALUE fmt, int mode) PACK_LENGTH_ADJUST_SIZE(sizeof(double)); while (len-- > 0) { DOUBLE_CONVWITH(tmp); - memcpy(tmp.buf, s, sizeof(double)); - s += sizeof(double); NTOHD(tmp); UNPACK_PUSH(DBL2NUM(tmp.d)); } @@ -1542,9 +1538,7 @@ pack_unpack_internal(VALUE str, VALUE fmt, int mode) VALUE tmp = Qnil; char *t; - memcpy(&t, s, sizeof(char *)); - s += sizeof(char *); - if (t) { VALUE a; const VALUE *p, *pend; @@ -1585,9 +1579,7 @@ pack_unpack_internal(VALUE str, VALUE fmt, int mode) VALUE tmp = Qnil; char *t; - memcpy(&t, s, sizeof(char *)); - s += sizeof(char *); - if (t) { VALUE a; const VALUE *p, *pend; |