summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrbgems/mruby-pack/src/pack.c34
1 files changed, 16 insertions, 18 deletions
diff --git a/mrbgems/mruby-pack/src/pack.c b/mrbgems/mruby-pack/src/pack.c
index 0e76e3f92..9a859da51 100644
--- a/mrbgems/mruby-pack/src/pack.c
+++ b/mrbgems/mruby-pack/src/pack.c
@@ -1501,25 +1501,23 @@ pack_unpack(mrb_state *mrb, mrb_value str, int single)
continue;
}
- if (flags & PACK_FLAG_COUNT2) {
- sptr = (const unsigned char *)RSTRING_PTR(str) + srcidx;
- switch (dir) {
- case PACK_DIR_HEX:
- srcidx += unpack_h(mrb, sptr, srclen - srcidx, result, count, flags);
- break;
- case PACK_DIR_STR:
- srcidx += unpack_a(mrb, sptr, srclen - srcidx, result, count, flags);
- break;
- case PACK_DIR_BASE64:
- srcidx += unpack_m(mrb, sptr, srclen - srcidx, result);
- break;
- case PACK_DIR_QENC:
- srcidx += unpack_M(mrb, sptr, srclen - srcidx, result);
- break;
- default:
- break;
- }
+ sptr = (const unsigned char *)RSTRING_PTR(str) + srcidx;
+ switch (dir) {
+ case PACK_DIR_HEX:
+ srcidx += unpack_h(mrb, sptr, srclen - srcidx, result, count, flags);
+ continue;
+ case PACK_DIR_STR:
+ srcidx += unpack_a(mrb, sptr, srclen - srcidx, result, count, flags);
continue;
+ case PACK_DIR_BASE64:
+ srcidx += unpack_m(mrb, sptr, srclen - srcidx, result);
+ continue;
+ break;
+ case PACK_DIR_QENC:
+ srcidx += unpack_M(mrb, sptr, srclen - srcidx, result);
+ continue;
+ default:
+ break;
}
while (count != 0) {