Yukihiro "Matz" Matsumoto
1578f4bb99
mruby-data/data.c: use direct array access
...
Unless we need boundary check, we don't need to use mrb_ary_ref()
2023-09-05 23:29:23 +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
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
8e579e6552
mruby-data/data.c (mrb_data_ref): check if reader has no argument
2023-05-24 22:45:35 +09:00
dearblue
d3128ce58a
Allow Class#allocate to be prohibited
...
Calling `Class#allocate` with `UnboundMethod#bind_call` usually succeeds without problems.
If this behavior does not make us happy, we can now prohibit it with `MRB_SET_INSTANCE_TT(klass, MRB_TT_UNDEF)`.
At the same time, it applies to the `Binding`, `Complex`, `Data`, `Float`, `Integer`, `Method`, `Rational` and `UnboundMethod` classes.
2023-04-09 21:14:07 +09:00
Yukihiro "Matz" Matsumoto
33320b08bb
mruby-data: fix uninitialized variable error
2023-03-13 08:09:26 +09:00
Yukihiro "Matz" Matsumoto
927a9df453
mruby-data/data.c: allow empty Data
2023-03-10 08:52:06 +09:00
Yukihiro "Matz" Matsumoto
0628669790
mruby-data/data.c (to_s): add class name in string representation
2022-12-31 07:51:09 +09:00
Yukihiro "Matz" Matsumoto
672495555b
mruby-data (mrb_data_init_copy): use data_corrupted() for errors
2022-12-07 07:49:19 +09:00
Yukihiro "Matz" Matsumoto
841bf6a270
mruby-data: update a comment (there's no Data.new) [ci skip]
2022-12-05 10:49:40 +09:00
Yukihiro "Matz" Matsumoto
0d261aff6b
mruby-data: freeze Data object after initialize
2022-12-04 22:45:36 +09:00
Yukihiro "Matz" Matsumoto
0ef4796dfb
mruby-data: improve comment description
2022-12-04 22:45:35 +09:00
Yukihiro "Matz" Matsumoto
951caa8f42
mruby-data: rename some internal functions and a macro
2022-12-04 22:45:35 +09:00
Yukihiro "Matz" Matsumoto
5f3aed7413
mruby-data (mrb_data_new): Data#new to accept keyword arguments
2022-12-01 15:38:06 +09:00
Yukihiro "Matz" Matsumoto
a40fdfde5c
mruby-data: cosmetic changes regarding for loop variables
2022-11-30 21:51:52 +09:00
Yukihiro "Matz" Matsumoto
138adbe282
mruby-data (mrb_data_initialize): update argument error conditions
...
- raise ArgumentError if arguments size differs from data size.
Previously it accepted smaller argument size.
- the message is updated to "wrong number of arguments". It's not
"struct" any longer.
2022-11-30 21:47:31 +09:00
Yukihiro "Matz" Matsumoto
fce2c5131f
mruby-data: new gem for Data class introduced in Ruby 3.2
2022-11-29 15:58:05 +09:00