Yukihiro "Matz" Matsumoto
87b358a342
Including header files in include/* by <>
2024-03-26 13:59:59 +09:00
dearblue
7611dc8338
Fixed IO#read with buf.
...
I hit the following two problems.
- `io.read(0, buf)` always returned a new empty string object.
- `io.read(num, buf)` was appending data to the given `buf`.
This also meant that `buf` was never empty if EOF was reached.
2023-12-16 14:42:52 +09:00
dearblue
88bc8c9144
Add "x" mode option for IO.open
...
From CRuby 2.6 feature.
This is the "x" mode (`O_EXCL`; exclusive create) of `fopen(3)` introduced in C11.
ref. https://bugs.ruby-lang.org/issues/11258
2023-10-15 16:41:48 +09:00
Yukihiro "Matz" Matsumoto
53de96426a
mruby-io/io.c (io_init): File.new should not take blocks
2023-05-23 15:34:37 +09:00
Yukihiro "Matz" Matsumoto
c32f7915fb
reformat else clause indentation style
2023-05-20 00:21:01 +09:00
Yukihiro "Matz" Matsumoto
eea72ec84a
fix spaces in the type cast expressions (cosmetic changes)
2023-05-18 23:29:16 +09:00
Yukihiro "Matz" Matsumoto
0529f5fc31
mruby-io/test/file.rb: add tests for File#atime, File#ctime
2023-03-03 13:33:29 +09:00
Yukihiro "Matz" Matsumoto
be5266fbe6
mruby-io/test: test gets with RS multiple times; ref #5913
2023-01-23 07:26:40 +09:00
Yukihiro "Matz" Matsumoto
b79563af60
mruby-io/test: remove test for internal IO#_read_buf
2022-12-30 13:59:21 +09:00
Yukihiro "Matz" Matsumoto
a68b1200c2
mruby-io/test: test IO#ungetc
2022-12-30 13:59:01 +09:00
Yukihiro "Matz" Matsumoto
ef0b43d9a1
mruby-io/test/io.rb: specify access mode for IO.{sysopen,open} in tests
2022-12-30 13:58:58 +09:00
Yukihiro "Matz" Matsumoto
ba1b12948d
mruby-io/io.c: implement _read_buf in C
2022-12-29 11:20:51 +09:00
John Bampton
ea8964ef35
ruby: standardize whitespace
2022-10-31 16:25:56 +10:00
take-cheeze
bf455fd582
Add IO#getbyte
2021-04-10 19:08:14 +09:00
John Bampton
d8622fc68b
chore: fix spelling
2021-04-03 19:51:01 +10:00
dearblue
8928bc2dce
Initialize all area of struct sockaddr_un
...
Members of `struct sockaddr_un` are requesting the definitions of `sun_family` and `sun_path`.
https://pubs.opengroup.org/onlinepubs/009696699/basedefs/sys/un.h.html
But the other members are optional and environment dependent.
In fact, other members are defined in the BSD series.
from NetBSD-9.1 <https://github.com/NetBSD/src/blob/da504f75982b244b2288bc9970bbc203bd77a9c1/sys/sys/un.h#L49-L53 >
```c
struct sockaddr_un {
unsigned char sun_len; /* sockaddr len excluding NUL */
sa_family_t sun_family; /* AF_UNIX */
char sun_path[104]; /* path name (gag) */
};
```
2021-01-12 21:35:18 +09:00
Yukihiro "Matz" Matsumoto
86dee45f1d
Remove meaningless IO.open(1<<32) test.
2020-10-12 18:20:15 +09:00
dearblue
80fe9838d2
Integrate Fixnum class into Integer class
...
* The `Fixnum` constant is now an alias for the `Integer` class.
* Remove `struct mrb_state::fixnum_class` member.
If necessary, use `struct mrb_state::integer_class` instead.
2020-10-12 16:21:44 +09:00
KOBAYASHI Shuji
ea31878b1f
Avoid changing directory in mruby-io test
2020-10-12 16:20:46 +09:00
Yukihiro "Matz" Matsumoto
d612344e48
Should not use assert with expressions with side-effect; ref #4981
...
`assert()` can be completely removed when `NDEBUG` is set.
2020-10-12 16:20:45 +09:00
Yukihiro "Matz" Matsumoto
d7e183bfdf
Fixed wrong condition in #4981 .
2020-10-12 16:20:45 +09:00
Yukihiro "Matz" Matsumoto
33647b904e
Avoid snprintf in mruby-io test; ref #4981
2020-10-12 16:20:43 +09:00
Yukihiro "Matz" Matsumoto
47f65a93c5
Remove the temporary file from the AF_UNIX socket test; #4981
2020-10-12 16:20:43 +09:00
Yukihiro "Matz" Matsumoto
8b65e4b73c
Add test to ensure #5077
2020-09-13 11:38:06 +09:00
Yukihiro "Matz" Matsumoto
6ba542cd53
Revert part of #5019 (mruby_io_test.c) to honor #4987
...
The issue was reported by @shuujii.
2020-06-05 17:20:41 +09:00
Hiroshi Mimaki
81d340e042
Merge master.
2020-06-05 12:42:56 +09:00
dearblue
ce12ef7e5c
Hiding method implementation C functions in mruby-io
2020-06-03 14:12:51 +09:00
Yukihiro "Matz" Matsumoto
5e01674b72
Should not use assert with expressions with side-effect; ref #4981
...
`assert()` can be completely removed when `NDEBUG` is set.
2020-05-07 09:37:02 +09:00
Yukihiro "Matz" Matsumoto
b652a4ff14
Fixed wrong condition in #4981 .
2020-05-07 09:36:43 +09:00
Yukihiro "Matz" Matsumoto
7dc0fe66c7
Add #include <string.h> on all platforms for strncpy; #4981
2020-05-07 09:36:21 +09:00
Yukihiro "Matz" Matsumoto
9f4b5227fe
Avoid snprintf in mruby-io test; ref #4981
2020-05-07 09:33:44 +09:00
Yukihiro "Matz" Matsumoto
d464fe5003
Remove the temporary file from the AF_UNIX socket test; #4981
2020-05-07 09:33:08 +09:00
Uchio Kondo
6e13467ce8
Fix typo and include location
2020-05-01 16:52:11 +09:00
Uchio Kondo
508ac2030e
Skip socket check on windows
2020-05-01 16:51:47 +09:00
Uchio Kondo
4b81bce48d
Follow C90 style
2020-05-01 16:51:22 +09:00
Uchio Kondo
3486675e00
Test mruby-io in tmpdir when AF_UNIX cannot be created on cwd
2020-05-01 16:50:54 +09:00
KOBAYASHI Shuji
aeb86d953e
Avoid changing directory in mruby-io test
2020-04-29 17:48:01 +09:00
Yukihiro "Matz" Matsumoto
e2ac2a82a5
Should not use assert with expressions with side-effect; ref #4981
...
`assert()` can be completely removed when `NDEBUG` is set.
2020-04-28 22:37:14 +09:00
Yukihiro "Matz" Matsumoto
bb6290a5d5
Fixed wrong condition in #4981 .
2020-04-28 22:34:33 +09:00
Yukihiro "Matz" Matsumoto
312411dea0
Add #include <string.h> on all platforms for strncpy; #4981
2020-04-28 22:34:33 +09:00
Yukihiro "Matz" Matsumoto
0f229bfbbf
Avoid snprintf in mruby-io test; ref #4981
2020-04-28 18:30:50 +09:00
Yukihiro "Matz" Matsumoto
28b23b44ec
Remove the temporary file from the AF_UNIX socket test; #4981
2020-04-28 18:13:43 +09:00
Uchio Kondo
88b756b39f
Fix typo and include location
2020-04-28 01:52:56 +09:00
Uchio Kondo
462ff4cc84
Skip socket check on windows
2020-04-28 01:49:39 +09:00
Uchio Kondo
18274e717a
Follow C90 style
2020-04-28 01:45:46 +09:00
Uchio Kondo
7870f74c21
Test mruby-io in tmpdir when AF_UNIX cannot be created on cwd
2020-04-28 01:33:50 +09:00
dearblue
3c03385e2e
Check the file descriptor with IO#initialize; resolve #4966
2020-04-12 14:18:36 +09:00
dearblue
cc1db2d117
Remove unnecessary 'stdio.h'; ref #4947
...
'stdio.h' is included in 'mruby.h' ('mrbconf.h').
However, keep 'stdio.h' used by mruby-test.
2020-03-08 21:42:09 +09:00
dearblue
4c6d524c47
Implement IO#pread and IO#pwrite
...
It is available by default in environments where `__unix__` is defined.
Other environments are enabled by defining `MRB_WITH_IO_PREAD_PWRITE`
(requires an implementation of `pread()` and `pwrite()` functions).
In any case, you can disable it by defining
`MRB_WITHOUT_IO_PREAD_PWRITE`.
2020-02-02 21:20:25 +09:00
dearblue
8020374d6b
Fix builds for old mingw in mruby-socket; ref #4914
2020-02-01 15:58:32 +09:00