Yukihiro "Matz" Matsumoto
4769a474a4
mruby-test/mrbgem.rake: remove unnecessary arena_index
2023-08-12 23:43:48 +09:00
Yukihiro "Matz" Matsumoto
435cce7efd
mruby-socket/socket.c: use mrb_iv_get() instead of accessors
2023-08-12 20:19:32 +09:00
Yukihiro "Matz" Matsumoto
c675c0cbb1
mruby-socket/socket.c: use mrb_ensure_int_type()
2023-08-11 23:10:02 +09:00
Yukihiro "Matz" Matsumoto
34e7a0ef4b
mruby-socket/socket.c (socket_option_class): a new function
...
To retrieve Socket::Option class from C functions.
2023-08-11 23:07:38 +09:00
Yukihiro "Matz" Matsumoto
0864f44c24
mruby-socket/socket.c: use mrb_obj_new() instead of mrb_obj_funcall()
2023-08-09 18:45:42 +09:00
Yukihiro "Matz" Matsumoto
08a780edd6
mruby-socket/socket.c: rename a local variable for clarity (res0 -> addr)
2023-08-09 14:33:14 +09:00
Yukihiro "Matz" Matsumoto
edf3f1226c
mruby-socket/socket.c: pass klass to gen_addrinfo
2023-08-09 14:33:14 +09:00
Yukihiro "Matz" Matsumoto
9e37a490f8
mruby-socket/socket.c: narrow local variable scope
2023-08-09 14:33:14 +09:00
Yukihiro "Matz" Matsumoto
10ed2ea03b
mruby-socket/socket.c: use z! argument specifier rather than o
...
`z!` specifier checks if the argument is NULL terminated string or nil.
2023-08-09 14:33:14 +09:00
Yukihiro "Matz" Matsumoto
9d370e0851
mruby-socket/socket.c: ensure struct addrinfo to be freed
...
Instead of referring the last addrinfo via Addrinfo's class variable, we
use `mrb_ensure()` from `mruby-error` gem.
2023-08-09 13:51:25 +09:00
Yukihiro "Matz" Matsumoto
7e865aec51
mruby-bigint/bigint.c: remove unused mrb_bint_new()
2023-08-08 11:24:14 +09:00
Yukihiro "Matz" Matsumoto
a22ea766e2
mruby-numeric-ext/numeric_ext.c: use local variables.
2023-08-08 11:24:14 +09:00
Yukihiro "Matz" Matsumoto
5de3be1bee
mruby-dir/dir.c (mrb_di_getwd): reduce buffer allocation size
...
Instead of allocating `MAXPATHLEN` buffer string at the beginning,
allocate smaller (64 bytes) buffer, then resize it if needed. The
allocating max size is safe but consumes more memory.
2023-08-08 11:24:14 +09:00
Yukihiro "Matz" Matsumoto
a2649652f1
mruby-os-memsize/memsize.c: fix irep size calculation
...
Need to count the following as well:
- size of pool values
- size of reps array
2023-08-02 07:04:35 +09:00
Yukihiro "Matz" Matsumoto
bbd4edc607
mruby-data/data.c (mrb_data_ref): remove code duplication
2023-07-29 08:42:25 +09:00
Yukihiro "Matz" Matsumoto
8d2f9b3d12
mruby-data/data.c: skip inefficient env for first some accessors
2023-07-28 23:45:25 +09:00
Yukihiro "Matz" Matsumoto
1e1184f62d
mruby-pack/pack.c (read_tmpl): should consume skips in the function
2023-07-28 17:05:49 +09:00
Yukihiro "Matz" Matsumoto
1535e031df
mruby-pack/pack.c (read_tmpl): direct return from skipping directives
...
We used to read counts after spaces, for example `pack("j 4")` read `4`
as counts after a space.
2023-07-24 18:03:39 +09:00
Yukihiro "Matz" Matsumoto
a5a13ad35f
mruby-pack/pack.c (read_tmpl): read_tmpl to return dir
...
Use return value for directives information.
2023-07-24 18:03:39 +09:00
Yukihiro "Matz" Matsumoto
8a3d52f494
mruby-pack/pack.c (read_tmpl): rename PACK_DIR_INVALID
...
The value is used for spaces and comments, so the term "skip" is more
appropriate than "invalid".
2023-07-24 18:03:38 +09:00
Yukihiro "Matz" Matsumoto
e17f3256c6
mruby-pack/pack.c (read_tmpl): support comments in derectives
2023-07-24 18:03:38 +09:00
Yukihiro "Matz" Matsumoto
0eceadd037
mruby-pack/test/pack.rb: test B/b directives
2023-07-24 18:03:38 +09:00
Yukihiro "Matz" Matsumoto
e7021f190a
mruby-pack/pack.c (pack_bstr): support B/b directives
2023-07-24 18:03:38 +09:00
Yukihiro "Matz" Matsumoto
05549410d9
mruby-pack/pack.c (read_tmpl): check unknown directives
2023-07-24 18:03:38 +09:00
Yukihiro "Matz" Matsumoto
2a1e3a572c
mruby-pack/pack.c (read_tmpl): support J/j template in pack
...
J/j is available since Ruby 2.3.
2023-07-24 18:03:37 +09:00
John Bampton
14b4f5953b
Standardize docs to use 3 dots: ...
2023-07-23 03:39:03 +10:00
Yukihiro "Matz" Matsumoto
d6d434eb3f
Inline loop variables everywhere
2023-07-13 08:05:00 +09:00
Yukihiro "Matz" Matsumoto
d4a03be96b
mruby-string-ext/string.c (str_casecmp): small refactoring
2023-07-12 09:14:45 +09:00
Yukihiro "Matz" Matsumoto
aa5ffb686f
mruby-os-memsize: more precise memory size for method tables
2023-07-06 16:12:51 +09:00
Yukihiro "Matz" Matsumoto
0a4473bf64
mruby-socket/socket.c: fix indentation
2023-07-04 17:50:37 +09:00
Yukihiro "Matz" Matsumoto
ea649e70b8
mruby-pack/pack.c (mrb_pack_pack): use direct array buffer access
...
We don't need index wrap-around not boundary check here, so we can use
faster direct array access.
2023-06-29 22:54:58 +09:00
Yukihiro "Matz" Matsumoto
6ae6b63aaf
mruby-struct: add recursive inspect check instead of _inspect hack
2023-06-22 12:53:51 +09:00
Yukihiro "Matz" Matsumoto
0713f2a840
mruby-set/set.rb (inspect): add recursive inspect check to Set#inspect
2023-06-20 11:25:49 +09:00
Ray Chason
23e9befbc0
Changes to cross-compile with DJGPP
2023-06-17 17:20:33 -04:00
Yukihiro "Matz" Matsumoto
89f7bb1056
use more lightweight mrb_funcall_argv instead of mrb_funcall_id
2023-06-12 14:22:04 +09:00
Yukihiro "Matz" Matsumoto
39a29a7de1
mruby-bin-debugger/mrbgem.rake: fix defines configuration
...
`spec.build.defines` should be update inline. Otherwise, configuration
may differ from file to file.
2023-06-12 13:07:57 +09:00
Yukihiro "Matz" Matsumoto
8b39a7825d
Reduce unnecessary mrb_obj_ptr() to mrb_check_frozen()
2023-05-31 08:29:12 +09:00
Yukihiro "Matz" Matsumoto
795044f82c
internal.h: add mrb_check_num_exact prototype to the header
2023-05-30 08:54:05 +09:00
Yukihiro "Matz" Matsumoto
2b3ecef66c
mruby-data/data.c: use mrb_ary_ref instead of direct memory access
...
Avoid out-of-bound memory access when actual data object size is smaller
than the number of data members.
2023-05-25 09:05:03 +09:00
Yukihiro "Matz" Matsumoto
9bc9ff771d
mruby-data/data.c (mrb_data_s_def): simplify the code
2023-05-25 09:05:03 +09:00
Yukihiro "Matz" Matsumoto
05f4831751
mruby-data/data.c (mrb_data_s_def): add member duplication check
2023-05-25 09:05:03 +09:00
Yukihiro "Matz" Matsumoto
eeab289f87
mruby-data/data.c (mrb_data_ref): avoid out-of-bound access
2023-05-25 09:05:02 +09:00
Yukihiro "Matz" Matsumoto
de69190df5
mruby-struct/struct.c: need to copy the argument array
...
Just in case for stack reallocations.
2023-05-25 09:05:02 +09:00
Yukihiro "Matz" Matsumoto
e05ac91217
mruby-struct/struct.c: update the behavior when actual size differs
...
Assertions may be false and terminate the whole process when actual size
for struct objects are different.
2023-05-25 09:05:02 +09:00
Yukihiro "Matz" Matsumoto
f50e40f291
mruby-struct/struct.c: use mrb_ary_set to simplify the code
...
We don't need to do `mrb_struct_modify()` and calling write barriers by
ourselves for the small performance issue.
2023-05-25 09:05:02 +09:00
Yukihiro "Matz" Matsumoto
0295e6a688
mruby-struct/struct.c (struct_aref_int): update index check
...
Check should use the number of members, not the actual size of the
struct object, which may be smaller than the declared size.
2023-05-25 08:40:46 +09:00
Yukihiro "Matz" Matsumoto
8e579e6552
mruby-data/data.c (mrb_data_ref): check if reader has no argument
2023-05-24 22:45:35 +09:00
Yukihiro "Matz" Matsumoto
ed5fbb5d63
mruby-struct.c (mrb_struct_s_def): check duplicate members
2023-05-24 22:43:09 +09:00
Yukihiro "Matz" Matsumoto
f80192e8ac
mruby-struct/struct.c (struct_s_member): avoid break
...
Direct `return` is more readable, IMO.
2023-05-24 17:59:32 +09:00
Yukihiro "Matz" Matsumoto
c2f3f103bb
mruby-struct/struct.c (mrb_struct_ref): update the function
...
- use `num_members`
- ensure the function takes no argument
- avoid out-of-bound access when struct is failed to initialize
2023-05-24 17:53:41 +09:00