summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/pack.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/pack.c b/src/pack.c
index 93fd3f16b..6b211c961 100644
--- a/src/pack.c
+++ b/src/pack.c
@@ -234,7 +234,7 @@ pack_double(mrb_state *mrb, mrb_value o, mrb_value str, mrb_int sidx, unsigned i
str = str_len_ensure(mrb, str, sidx + 8);
d = mrb_float(o);
- if (flags & PACK_FLAG_LT) {
+ if (flags & PACK_FLAG_LITTLEENDIAN) {
#ifdef MRB_ENDIAN_BIG
for (i = 0; i < 8; ++i) {
RSTRING_PTR(str)[sidx + i] = buffer[8 - i - 1];
@@ -242,7 +242,7 @@ pack_double(mrb_state *mrb, mrb_value o, mrb_value str, mrb_int sidx, unsigned i
#else
memcpy(RSTRING_PTR(str) + sidx, buffer, 8);
#endif
- } else if (flags & PACK_FLAG_GT) {
+ } else {
#ifdef MRB_ENDIAN_BIG
memcpy(RSTRING_PTR(str) + sidx, buffer, 8);
#else
@@ -250,8 +250,6 @@ pack_double(mrb_state *mrb, mrb_value o, mrb_value str, mrb_int sidx, unsigned i
RSTRING_PTR(str)[sidx + i] = buffer[8 - i - 1];
}
#endif
- } else {
- memcpy(RSTRING_PTR(str) + sidx, buffer, 8);
}
return 8;
@@ -266,7 +264,7 @@ pack_float(mrb_state *mrb, mrb_value o, mrb_value str, mrb_int sidx, unsigned in
str = str_len_ensure(mrb, str, sidx + 4);
f = mrb_float(o);
- if (flags & PACK_FLAG_LT) {
+ if (flags & PACK_FLAG_LITTLEENDIAN) {
#ifdef MRB_ENDIAN_BIG
for (i = 0; i < 4; ++i) {
RSTRING_PTR(str)[sidx + i] = buffer[4 - i - 1];
@@ -274,7 +272,7 @@ pack_float(mrb_state *mrb, mrb_value o, mrb_value str, mrb_int sidx, unsigned in
#else
memcpy(RSTRING_PTR(str) + sidx, buffer, 4);
#endif
- } else if (flags & PACK_FLAG_GT) {
+ } else {
#ifdef MRB_ENDIAN_BIG
memcpy(RSTRING_PTR(str) + sidx, buffer, 4);
#else
@@ -282,8 +280,6 @@ pack_float(mrb_state *mrb, mrb_value o, mrb_value str, mrb_int sidx, unsigned in
RSTRING_PTR(str)[sidx + i] = buffer[4 - i - 1];
}
#endif
- } else {
- memcpy(RSTRING_PTR(str) + sidx, buffer, 4);
}
return 4;