From 78d2d909cfcc2e198c6ef56caef311af72ac024a Mon Sep 17 00:00:00 2001 From: Tomoyuki Sahara Date: Wed, 20 Nov 2013 10:26:13 +0900 Subject: style --- src/pack.c | 93 +++++++++++++++++++++++++++++--------------------------------- 1 file changed, 44 insertions(+), 49 deletions(-) (limited to 'src/pack.c') diff --git a/src/pack.c b/src/pack.c index 7d68dd338..a9baa0d7d 100644 --- a/src/pack.c +++ b/src/pack.c @@ -45,16 +45,16 @@ enum { PACK_TYPE_NONE }; -#define PACK_FLAG_s 0x00000001 /* native size ("_" "!") */ -#define PACK_FLAG_a 0x00000002 /* null padding ("a") */ -#define PACK_FLAG_Z 0x00000004 /* append nul char ("z") */ -#define PACK_FLAG_SIGNED 0x00000008 /* native size ("_" "!") */ -#define PACK_FLAG_GT 0x00000010 /* big endian (">") */ -#define PACK_FLAG_LT 0x00000020 /* little endian ("<") */ -#define PACK_FLAG_WIDTH 0x00000040 /* */ -#define PACK_FLAG_LSB 0x00000080 /* LSB / low nibble first */ -#define PACK_FLAG_COUNT2 0x00000100 /* "count" is special... */ -#define PACK_FLAG_LITTLEENDIAN 0x00000200 /* little endian actually */ +#define PACK_FLAG_s 0x00000001 /* native size ("_" "!") */ +#define PACK_FLAG_a 0x00000002 /* null padding ("a") */ +#define PACK_FLAG_Z 0x00000004 /* append nul char ("z") */ +#define PACK_FLAG_SIGNED 0x00000008 /* native size ("_" "!") */ +#define PACK_FLAG_GT 0x00000010 /* big endian (">") */ +#define PACK_FLAG_LT 0x00000020 /* little endian ("<") */ +#define PACK_FLAG_WIDTH 0x00000040 /* */ +#define PACK_FLAG_LSB 0x00000080 /* LSB / low nibble first */ +#define PACK_FLAG_COUNT2 0x00000100 /* "count" is special... */ +#define PACK_FLAG_LITTLEENDIAN 0x00000200 /* little endian actually */ #define PACK_BASE64_IGNORE 0xff #define PACK_BASE64_PADDING 0xfe @@ -188,26 +188,6 @@ pack_l(mrb_state *mrb, mrb_value o, mrb_value str, mrb_int sidx, unsigned int fl return 4; } -static int -pack_double(mrb_state *mrb, mrb_value o, mrb_value str, mrb_int sidx, unsigned int flags) -{ - int i; - double d; - uint8_t *buffer = (uint8_t *)&d; - str = str_len_ensure(mrb, str, sidx + 8); - d = mrb_float(o); - -#ifdef MRB_ENDIAN_BIG - #error unsupported -#else - for(i = 0; i< 8; i++){ - RSTRING_PTR(str)[sidx+i] = buffer[i]; - } -#endif - - return 8; -} - static int unpack_l(mrb_state *mrb, const unsigned char *src, int srclen, mrb_value ary, unsigned int flags) { @@ -229,6 +209,26 @@ unpack_l(mrb_state *mrb, const unsigned char *src, int srclen, mrb_value ary, un return 4; } +static int +pack_double(mrb_state *mrb, mrb_value o, mrb_value str, mrb_int sidx, unsigned int flags) +{ + int i; + double d; + uint8_t *buffer = (uint8_t *)&d; + str = str_len_ensure(mrb, str, sidx + 8); + d = mrb_float(o); + +#ifdef MRB_ENDIAN_BIG + #error unsupported +#else + for(i = 0; i < 8; i++){ + RSTRING_PTR(str)[sidx+i] = buffer[i]; + } +#endif + + return 8; +} + static int pack_a(mrb_state *mrb, mrb_value src, mrb_value dst, mrb_int didx, long count, unsigned int flags) { @@ -759,12 +759,12 @@ mrb_pack_unpack(mrb_state *mrb, mrb_value str) struct tmpl tmpl; long count; unsigned int flags; - int dir, sidx, size, srclen, type; + int dir, size, srcidx, srclen, type; const char *sptr; prepare_tmpl(mrb, &tmpl); - sidx = 0; + srcidx = 0; srclen = RSTRING_LEN(str); result = mrb_ary_new(mrb); @@ -775,39 +775,39 @@ mrb_pack_unpack(mrb_state *mrb, mrb_value str) continue; if (flags & PACK_FLAG_COUNT2) { - sptr = RSTRING_PTR(str) + sidx; + sptr = RSTRING_PTR(str) + srcidx; switch (dir) { case PACK_DIR_HEX: - sidx += unpack_h(mrb, sptr, srclen - sidx, result, count, flags); + srcidx += unpack_h(mrb, sptr, srclen - srcidx, result, count, flags); break; case PACK_DIR_STR: - sidx += unpack_a(mrb, sptr, srclen - sidx, result, count, flags); + srcidx += unpack_a(mrb, sptr, srclen - srcidx, result, count, flags); break; } continue; } while (count != 0) { - if (srclen - sidx < size) { + if (srclen - srcidx < size) { while (count-- > 0) { mrb_ary_push(mrb, result, mrb_nil_value()); - } + } break; } - sptr = RSTRING_PTR(str) + sidx; + sptr = RSTRING_PTR(str) + srcidx; switch (dir) { case PACK_DIR_CHAR: - sidx += unpack_c(mrb, sptr, srclen - sidx, result, flags); + srcidx += unpack_c(mrb, sptr, srclen - srcidx, result, flags); break; case PACK_DIR_SHORT: - sidx += unpack_s(mrb, sptr, srclen - sidx, result, flags); + srcidx += unpack_s(mrb, sptr, srclen - srcidx, result, flags); break; case PACK_DIR_LONG: - sidx += unpack_l(mrb, sptr, srclen - sidx, result, flags); + srcidx += unpack_l(mrb, sptr, srclen - srcidx, result, flags); break; case PACK_DIR_BASE64: - sidx += unpack_m(mrb, sptr, srclen - sidx, result, flags); + srcidx += unpack_m(mrb, sptr, srclen - srcidx, result, flags); break; } if (count > 0) { @@ -822,16 +822,11 @@ mrb_pack_unpack(mrb_state *mrb, mrb_value str) void mrb_mruby_pack_gem_init(mrb_state *mrb) { - struct RClass *cArray, *cString; - littleendian = check_little_endian(); make_base64_dec_tab(); - cArray = mrb->array_class; - cString = mrb->string_class; - - mrb_define_method(mrb, cArray, "pack", mrb_pack_pack, MRB_ARGS_REQ(1)); - mrb_define_method(mrb, cString, "unpack", mrb_pack_unpack, MRB_ARGS_REQ(1)); + mrb_define_method(mrb, mrb->array_class, "pack", mrb_pack_pack, MRB_ARGS_REQ(1)); + mrb_define_method(mrb, mrb->string_class, "unpack", mrb_pack_unpack, MRB_ARGS_REQ(1)); } void -- cgit v1.2.3