Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mruby
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
mruby
Commits
80cf293b
Unverified
Commit
80cf293b
authored
Aug 17, 2021
by
Yukihiro "Matz" Matsumoto
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pack.c: rename pack/unpack functions for readability.
parent
57b34708
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
38 additions
and
38 deletions
+38
-38
mrbgems/mruby-pack/src/pack.c
mrbgems/mruby-pack/src/pack.c
+38
-38
No files found.
mrbgems/mruby-pack/src/pack.c
View file @
80cf293b
...
...
@@ -121,7 +121,7 @@ str_len_ensure(mrb_state *mrb, mrb_value str, mrb_int len)
static
int
pack_c
(
mrb_state
*
mrb
,
mrb_value
o
,
mrb_value
str
,
mrb_int
sidx
,
unsigned
int
flags
)
pack_c
har
(
mrb_state
*
mrb
,
mrb_value
o
,
mrb_value
str
,
mrb_int
sidx
,
unsigned
int
flags
)
{
str
=
str_len_ensure
(
mrb
,
str
,
sidx
+
1
);
RSTRING_PTR
(
str
)[
sidx
]
=
(
char
)
mrb_integer
(
o
);
...
...
@@ -129,7 +129,7 @@ pack_c(mrb_state *mrb, mrb_value o, mrb_value str, mrb_int sidx, unsigned int fl
}
static
int
unpack_c
(
mrb_state
*
mrb
,
const
void
*
src
,
int
srclen
,
mrb_value
ary
,
unsigned
int
flags
)
unpack_c
har
(
mrb_state
*
mrb
,
const
void
*
src
,
int
srclen
,
mrb_value
ary
,
unsigned
int
flags
)
{
if
(
flags
&
PACK_FLAG_SIGNED
)
mrb_ary_push
(
mrb
,
ary
,
mrb_fixnum_value
(
*
(
signed
char
*
)
src
));
...
...
@@ -139,7 +139,7 @@ unpack_c(mrb_state *mrb, const void *src, int srclen, mrb_value ary, unsigned in
}
static
int
pack_s
(
mrb_state
*
mrb
,
mrb_value
o
,
mrb_value
str
,
mrb_int
sidx
,
unsigned
int
flags
)
pack_s
hort
(
mrb_state
*
mrb
,
mrb_value
o
,
mrb_value
str
,
mrb_int
sidx
,
unsigned
int
flags
)
{
uint16_t
n
;
...
...
@@ -156,7 +156,7 @@ pack_s(mrb_state *mrb, mrb_value o, mrb_value str, mrb_int sidx, unsigned int fl
}
static
int
unpack_s
(
mrb_state
*
mrb
,
const
unsigned
char
*
src
,
int
srclen
,
mrb_value
ary
,
unsigned
int
flags
)
unpack_s
hort
(
mrb_state
*
mrb
,
const
unsigned
char
*
src
,
int
srclen
,
mrb_value
ary
,
unsigned
int
flags
)
{
int
n
;
...
...
@@ -173,7 +173,7 @@ unpack_s(mrb_state *mrb, const unsigned char *src, int srclen, mrb_value ary, un
}
static
int
pack_l
(
mrb_state
*
mrb
,
mrb_value
o
,
mrb_value
str
,
mrb_int
sidx
,
unsigned
int
flags
)
pack_l
ong
(
mrb_state
*
mrb
,
mrb_value
o
,
mrb_value
str
,
mrb_int
sidx
,
unsigned
int
flags
)
{
uint32_t
n
;
...
...
@@ -227,7 +227,7 @@ u32tostr(char *buf, size_t len, uint32_t n)
#endif
/* MRB_INT64 */
static
int
unpack_l
(
mrb_state
*
mrb
,
const
unsigned
char
*
src
,
int
srclen
,
mrb_value
ary
,
unsigned
int
flags
)
unpack_l
ong
(
mrb_state
*
mrb
,
const
unsigned
char
*
src
,
int
srclen
,
mrb_value
ary
,
unsigned
int
flags
)
{
#ifndef MRB_INT64
char
msg
[
60
];
...
...
@@ -262,7 +262,7 @@ unpack_l(mrb_state *mrb, const unsigned char *src, int srclen, mrb_value ary, un
}
static
int
pack_q
(
mrb_state
*
mrb
,
mrb_value
o
,
mrb_value
str
,
mrb_int
sidx
,
unsigned
int
flags
)
pack_q
uad
(
mrb_state
*
mrb
,
mrb_value
o
,
mrb_value
str
,
mrb_int
sidx
,
unsigned
int
flags
)
{
uint64_t
n
;
...
...
@@ -344,7 +344,7 @@ i64tostr(char *buf, size_t len, int64_t n)
#endif
/* MRB_INT64 */
static
int
unpack_q
(
mrb_state
*
mrb
,
const
unsigned
char
*
src
,
int
srclen
,
mrb_value
ary
,
unsigned
int
flags
)
unpack_q
uad
(
mrb_state
*
mrb
,
const
unsigned
char
*
src
,
int
srclen
,
mrb_value
ary
,
unsigned
int
flags
)
{
char
msg
[
60
];
uint64_t
ull
;
...
...
@@ -384,7 +384,7 @@ unpack_q(mrb_state *mrb, const unsigned char *src, int srclen, mrb_value ary, un
}
static
int
pack_
w
(
mrb_state
*
mrb
,
mrb_value
o
,
mrb_value
str
,
mrb_int
sidx
,
unsigned
int
flags
)
pack_
BER
(
mrb_state
*
mrb
,
mrb_value
o
,
mrb_value
str
,
mrb_int
sidx
,
unsigned
int
flags
)
{
mrb_int
n
=
mrb_integer
(
o
);
size_t
i
;
...
...
@@ -408,7 +408,7 @@ pack_w(mrb_state *mrb, mrb_value o, mrb_value str, mrb_int sidx, unsigned int fl
}
static
int
unpack_
w
(
mrb_state
*
mrb
,
const
unsigned
char
*
src
,
int
srclen
,
mrb_value
ary
,
unsigned
int
flags
)
unpack_
BER
(
mrb_state
*
mrb
,
const
unsigned
char
*
src
,
int
srclen
,
mrb_value
ary
,
unsigned
int
flags
)
{
mrb_int
i
,
n
=
0
;
const
unsigned
char
*
p
=
src
;
...
...
@@ -669,7 +669,7 @@ unpack_utf8(mrb_state *mrb, const unsigned char * src, int srclen, mrb_value ary
}
static
int
pack_
a
(
mrb_state
*
mrb
,
mrb_value
src
,
mrb_value
dst
,
mrb_int
didx
,
int
count
,
unsigned
int
flags
)
pack_
str
(
mrb_state
*
mrb
,
mrb_value
src
,
mrb_value
dst
,
mrb_int
didx
,
int
count
,
unsigned
int
flags
)
{
mrb_int
copylen
,
slen
,
padlen
;
char
*
dptr
,
*
dptr0
,
pad
,
*
sptr
;
...
...
@@ -707,7 +707,7 @@ pack_a(mrb_state *mrb, mrb_value src, mrb_value dst, mrb_int didx, int count, un
}
static
int
unpack_
a
(
mrb_state
*
mrb
,
const
void
*
src
,
int
slen
,
mrb_value
ary
,
int
count
,
unsigned
int
flags
)
unpack_
str
(
mrb_state
*
mrb
,
const
void
*
src
,
int
slen
,
mrb_value
ary
,
int
count
,
unsigned
int
flags
)
{
mrb_value
dst
;
const
char
*
cp
,
*
sptr
;
...
...
@@ -741,7 +741,7 @@ unpack_a(mrb_state *mrb, const void *src, int slen, mrb_value ary, int count, un
static
int
pack_h
(
mrb_state
*
mrb
,
mrb_value
src
,
mrb_value
dst
,
mrb_int
didx
,
int
count
,
unsigned
int
flags
)
pack_h
ex
(
mrb_state
*
mrb
,
mrb_value
src
,
mrb_value
dst
,
mrb_int
didx
,
int
count
,
unsigned
int
flags
)
{
unsigned
int
a
,
ashift
,
b
,
bshift
;
long
slen
;
...
...
@@ -787,7 +787,7 @@ pack_h(mrb_state *mrb, mrb_value src, mrb_value dst, mrb_int didx, int count, un
}
static
int
unpack_h
(
mrb_state
*
mrb
,
const
void
*
src
,
int
slen
,
mrb_value
ary
,
int
count
,
unsigned
int
flags
)
unpack_h
ex
(
mrb_state
*
mrb
,
const
void
*
src
,
int
slen
,
mrb_value
ary
,
int
count
,
unsigned
int
flags
)
{
mrb_value
dst
;
int
a
,
ashift
,
b
,
bshift
;
...
...
@@ -834,7 +834,7 @@ unpack_h(mrb_state *mrb, const void *src, int slen, mrb_value ary, int count, un
}
static
int
pack_
m
(
mrb_state
*
mrb
,
mrb_value
src
,
mrb_value
dst
,
mrb_int
didx
,
int
count
)
pack_
base64
(
mrb_state
*
mrb
,
mrb_value
src
,
mrb_value
dst
,
mrb_int
didx
,
int
count
)
{
mrb_int
dstlen
;
unsigned
long
l
;
...
...
@@ -900,7 +900,7 @@ pack_m(mrb_state *mrb, mrb_value src, mrb_value dst, mrb_int didx, int count)
}
static
int
unpack_
m
(
mrb_state
*
mrb
,
const
void
*
src
,
int
slen
,
mrb_value
ary
)
unpack_
base64
(
mrb_state
*
mrb
,
const
void
*
src
,
int
slen
,
mrb_value
ary
)
{
mrb_value
dst
;
int
dlen
;
...
...
@@ -956,7 +956,7 @@ done:
}
static
int
pack_
M
(
mrb_state
*
mrb
,
mrb_value
src
,
mrb_value
dst
,
mrb_int
didx
,
int
count
)
pack_
qenc
(
mrb_state
*
mrb
,
mrb_value
src
,
mrb_value
dst
,
mrb_int
didx
,
int
count
)
{
static
const
char
hex_table
[]
=
"0123456789ABCDEF"
;
char
buff
[
1024
];
...
...
@@ -1017,7 +1017,7 @@ pack_M(mrb_state *mrb, mrb_value src, mrb_value dst, mrb_int didx, int count)
}
static
int
unpack_
M
(
mrb_state
*
mrb
,
const
void
*
src
,
int
slen
,
mrb_value
ary
)
unpack_
qenc
(
mrb_state
*
mrb
,
const
void
*
src
,
int
slen
,
mrb_value
ary
)
{
mrb_value
buf
=
mrb_str_new
(
mrb
,
0
,
slen
);
const
char
*
s
=
(
const
char
*
)
src
,
*
ss
=
s
;
...
...
@@ -1050,7 +1050,7 @@ unpack_M(mrb_state *mrb, const void *src, int slen, mrb_value ary)
}
static
int
pack_
x
(
mrb_state
*
mrb
,
mrb_value
dst
,
mrb_int
didx
,
int
count
)
pack_
nul
(
mrb_state
*
mrb
,
mrb_value
dst
,
mrb_int
didx
,
int
count
)
{
long
i
;
...
...
@@ -1358,7 +1358,7 @@ mrb_pack_pack(mrb_state *mrb, mrb_value ary)
else
if
(
dir
==
PACK_DIR_NUL
)
{
grow:
if
(
ridx
>
INT_MAX
-
count
)
goto
overflow
;
ridx
+=
pack_
x
(
mrb
,
result
,
ridx
,
count
);
ridx
+=
pack_
nul
(
mrb
,
result
,
ridx
,
count
);
continue
;
}
else
if
(
dir
==
PACK_DIR_BACK
)
{
...
...
@@ -1402,31 +1402,31 @@ mrb_pack_pack(mrb_state *mrb, mrb_value ary)
switch
(
dir
)
{
case
PACK_DIR_CHAR
:
ridx
+=
pack_c
(
mrb
,
o
,
result
,
ridx
,
flags
);
ridx
+=
pack_c
har
(
mrb
,
o
,
result
,
ridx
,
flags
);
break
;
case
PACK_DIR_SHORT
:
ridx
+=
pack_s
(
mrb
,
o
,
result
,
ridx
,
flags
);
ridx
+=
pack_s
hort
(
mrb
,
o
,
result
,
ridx
,
flags
);
break
;
case
PACK_DIR_LONG
:
ridx
+=
pack_l
(
mrb
,
o
,
result
,
ridx
,
flags
);
ridx
+=
pack_l
ong
(
mrb
,
o
,
result
,
ridx
,
flags
);
break
;
case
PACK_DIR_QUAD
:
ridx
+=
pack_q
(
mrb
,
o
,
result
,
ridx
,
flags
);
ridx
+=
pack_q
uad
(
mrb
,
o
,
result
,
ridx
,
flags
);
break
;
case
PACK_DIR_BER
:
ridx
+=
pack_
w
(
mrb
,
o
,
result
,
ridx
,
flags
);
ridx
+=
pack_
BER
(
mrb
,
o
,
result
,
ridx
,
flags
);
break
;
case
PACK_DIR_BASE64
:
ridx
+=
pack_
m
(
mrb
,
o
,
result
,
ridx
,
count
);
ridx
+=
pack_
base64
(
mrb
,
o
,
result
,
ridx
,
count
);
break
;
case
PACK_DIR_QENC
:
ridx
+=
pack_
M
(
mrb
,
o
,
result
,
ridx
,
count
);
ridx
+=
pack_
qenc
(
mrb
,
o
,
result
,
ridx
,
count
);
break
;
case
PACK_DIR_HEX
:
ridx
+=
pack_h
(
mrb
,
o
,
result
,
ridx
,
count
,
flags
);
ridx
+=
pack_h
ex
(
mrb
,
o
,
result
,
ridx
,
count
,
flags
);
break
;
case
PACK_DIR_STR
:
ridx
+=
pack_
a
(
mrb
,
o
,
result
,
ridx
,
count
,
flags
);
ridx
+=
pack_
str
(
mrb
,
o
,
result
,
ridx
,
count
,
flags
);
break
;
#ifndef MRB_NO_FLOAT
case
PACK_DIR_DOUBLE
:
...
...
@@ -1505,17 +1505,17 @@ pack_unpack(mrb_state *mrb, mrb_value str, int single)
sptr
=
(
const
unsigned
char
*
)
RSTRING_PTR
(
str
)
+
srcidx
;
switch
(
dir
)
{
case
PACK_DIR_HEX
:
srcidx
+=
unpack_h
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
,
count
,
flags
);
srcidx
+=
unpack_h
ex
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
,
count
,
flags
);
continue
;
case
PACK_DIR_STR
:
srcidx
+=
unpack_
a
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
,
count
,
flags
);
srcidx
+=
unpack_
str
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
,
count
,
flags
);
continue
;
case
PACK_DIR_BASE64
:
srcidx
+=
unpack_
m
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
);
srcidx
+=
unpack_
base64
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
);
continue
;
break
;
case
PACK_DIR_QENC
:
srcidx
+=
unpack_
M
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
);
srcidx
+=
unpack_
qenc
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
);
continue
;
default:
break
;
...
...
@@ -1532,19 +1532,19 @@ pack_unpack(mrb_state *mrb, mrb_value str, int single)
sptr
=
(
const
unsigned
char
*
)
RSTRING_PTR
(
str
)
+
srcidx
;
switch
(
dir
)
{
case
PACK_DIR_CHAR
:
srcidx
+=
unpack_c
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
,
flags
);
srcidx
+=
unpack_c
har
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
,
flags
);
break
;
case
PACK_DIR_SHORT
:
srcidx
+=
unpack_s
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
,
flags
);
srcidx
+=
unpack_s
hort
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
,
flags
);
break
;
case
PACK_DIR_LONG
:
srcidx
+=
unpack_l
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
,
flags
);
srcidx
+=
unpack_l
ong
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
,
flags
);
break
;
case
PACK_DIR_QUAD
:
srcidx
+=
unpack_q
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
,
flags
);
srcidx
+=
unpack_q
uad
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
,
flags
);
break
;
case
PACK_DIR_BER
:
srcidx
+=
unpack_
w
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
,
flags
);
srcidx
+=
unpack_
BER
(
mrb
,
sptr
,
srclen
-
srcidx
,
result
,
flags
);
break
;
#ifndef MRB_NO_FLOAT
case
PACK_DIR_FLOAT
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment