diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-08-28 17:33:16 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-10-12 18:20:06 +0900 |
| commit | 471479e723157c1a7df2023ab2eea24fa4ca2246 (patch) | |
| tree | 8d5c18642f44ca2f47832b66b6a49e5f0250afb7 /mrbgems/mruby-pack | |
| parent | 397b005715b443ff8175ffe3549f13ebfc6a9e7f (diff) | |
| download | mruby-471479e723157c1a7df2023ab2eea24fa4ca2246.tar.gz mruby-471479e723157c1a7df2023ab2eea24fa4ca2246.zip | |
Change float representation in `mrb` binary files.
From human readable (ASCII) string representation to binary dump of
IEEE754 in little endian.
Diffstat (limited to 'mrbgems/mruby-pack')
| -rw-r--r-- | mrbgems/mruby-pack/src/pack.c | 33 |
1 files changed, 1 insertions, 32 deletions
diff --git a/mrbgems/mruby-pack/src/pack.c b/mrbgems/mruby-pack/src/pack.c index 35e79d25d..9250e966d 100644 --- a/mrbgems/mruby-pack/src/pack.c +++ b/mrbgems/mruby-pack/src/pack.c @@ -9,10 +9,10 @@ #include "mruby/numeric.h" #include "mruby/string.h" #include "mruby/variable.h" +#include "mruby/endian.h" #include <ctype.h> #include <errno.h> -#include <limits.h> #include <string.h> struct tmpl { @@ -63,36 +63,6 @@ const static unsigned char base64chars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; static unsigned char base64_dec_tab[128]; -#if !defined(BYTE_ORDER) && defined(__BYTE_ORDER__) -# define BYTE_ORDER __BYTE_ORDER__ -#endif -#if !defined(BIG_ENDIAN) && defined(__ORDER_BIG_ENDIAN__) -# define BIG_ENDIAN __ORDER_BIG_ENDIAN__ -#endif -#if !defined(LITTLE_ENDIAN) && defined(__ORDER_LITTLE_ENDIAN__) -# define LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__ -#endif - -#ifdef BYTE_ORDER -# if BYTE_ORDER == BIG_ENDIAN -# define littleendian 0 -# define check_little_endian() (void)0 -# elif BYTE_ORDER == LITTLE_ENDIAN -# define littleendian 1 -# define check_little_endian() (void)0 -# endif -#endif -#ifndef littleendian -/* can't distinguish endian in compile time */ -static int littleendian = 0; -static void -check_little_endian(void) -{ - unsigned int n = 1; - littleendian = (*(unsigned char *)&n == 1); -} -#endif - static unsigned int hex2int(unsigned char ch) { @@ -1426,7 +1396,6 @@ mrb_pack_unpack1(mrb_state *mrb, mrb_value str) void mrb_mruby_pack_gem_init(mrb_state *mrb) { - check_little_endian(); make_base64_dec_tab(); mrb_define_method(mrb, mrb->array_class, "pack", mrb_pack_pack, MRB_ARGS_REQ(1)); |
