summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-io/src
AgeCommit message (Collapse)Author
2020-10-12Update `IO#popen` to use keyword arguments instead of `Hash` args.Yukihiro "Matz" Matsumoto
2020-10-12Use `mrb_int_value()` instead of `mrb_fixnum_value()`.Yukihiro "Matz" Matsumoto
Where fixnum overflow can happen.
2020-10-12Reorganize `Integer` system.Yukihiro "Matz" Matsumoto
- Integrate `Fixnum` and `Integer` - Remove `Integral` - `int / int -> int` - Replace `mrb_fixnum()` to `mrb_int()` - Replace `mrb_fixnum_value()` to `mrb_int_value()`. - Use `mrb_integer_p()` instead of `mrb_fixnum_p()`
2020-10-12Rename `MRB_TT_FIXNUM` to `MRB_TT_INTEGER`.Yukihiro "Matz" Matsumoto
We still have `#define MRB_TT_FIXNUM MRB_TT_INTEGER` for compatibility.
2020-10-12Rename float configuration option names.Yukihiro "Matz" Matsumoto
- `MRB_WITHOUT_FLOAT` => `MRB_NO_FLOAT` - `MRB_USE_FLOAT` => `MRB_USE_FLOAT32` The former is to use `USE_XXX` naming convention. The latter is to make sure `float` is 32bit float and not floating point number in general.
2020-10-12Do not define `mrb_lstat` unless `S_ISLNK` is defined.Yukihiro "Matz" Matsumoto
2020-10-12Use functions that take symbols to reduce string litrals in C.Yukihiro "Matz" Matsumoto
2020-10-12Use `mrb_funcall_id()` extensively.Yukihiro "Matz" Matsumoto
Except for support files e.g. `mruby-test/driver.c`, which are not target of symbol collection via `rake gensym`.
2020-09-25Prohibit string changes by "s"/"z" specifier of `mrb_get_args()`dearblue
- The `s` specifier is a string pointer obtained without performing `mrb_str_modify()`, so it cannot be changed. - The `z` specifier cannot be changed because it is a string pointer obtained by `RSTRING_CSTR()` which returns `const char *`.
2020-08-29mruby-io: Fixing compilation issue under the legacy MinGW environmentSiZiOUS
Adding MRB_MINGW32_LEGACY in common.h in order to identify the legacy MinGW environment (i.e. NOT to be confused with MinGW-w64). For more info about MinGW defined macros, see: https://sourceforge.net/p/predef/wiki/Compilers/
2020-08-11Use `struct _stat32` instead of `struct __stat32`dearblue
It is described as `struct __stat32` in the MSVC reference manual. https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/stat-functions?view=vs-2019 But it doesn't really exist, so it must use `struct _stat32`. It also replaces `struct __stat64` with `struct _stat64` to make it look nicer.
2020-08-11Fixed VC `fstat` issue.Yukihiro "Matz" Matsumoto
2020-08-11Should use `_fstat32()` on 32bit Windows.Yukihiro "Matz" Matsumoto
2020-08-10Avoid using `mrb_funcall()` from `mruby-io` gem.Yukihiro "Matz" Matsumoto
2020-07-12Fix `ssize_t` for mingw; ref #5030dearblue
Legacy MinGW and MinGW-w64 had own `ssize_t`.
2020-07-10downcase windows include file for mingw compatabilityRory OConnell
2020-07-10Need typedef of ssize_t for msc compilerRory OConnell
2020-06-20Add `mrb_get_arg1()` that retrieves single (and only) argument.Yukihiro "Matz" Matsumoto
`mrb_get_arg1()` raises `ArgumentError` if the method does not receive one argument. And replaces all `mrb_get_args(mrb, "o", &arg)` by the new function.
2020-06-03Hiding method implementation C functions in mruby-iodearblue
2020-05-11Make `off_t` handling simpler; #4872 #4939Yukihiro "Matz" Matsumoto
The newer `clang` warns implicit float conversions.
2020-05-07Add assertion as originally intended; ref #4986Yukihiro "Matz" Matsumoto
2020-04-29Avoid comparing pointers and integersdearblue
2020-04-28Remove unused local variable if `MRB_UTF8_STRING` is not set.Yukihiro "Matz" Matsumoto
Ref #4982 #4983
2020-04-28Fix `IO#readchar` to return broken UTF-8 rather than `EOF` error.Yukihiro "Matz" Matsumoto
The behavior is different from CRuby, but we believe this is a right behavior for mruby, which only supports either ASCII or UTF-8 exclusively; fix #4983, ref #4982 ``` $ printf '\xe3\x81' | ruby -e 'p STDIN.readchar' "\xE3\x81" ``` ``` $ printf '\xe3\x81' | mruby -e 'p STDIN.readchar' "\xE3" ```
2020-04-28Fix `IO#readchar` to support UTF-8 char reading; fix #4712Yukihiro "Matz" Matsumoto
This fix only effective when `MRB_UTF8_STRING` is set.
2020-04-28Fix `IO#sysread` to update buffer string on `EOF`; ref #4982Yukihiro "Matz" Matsumoto
2020-04-15Merge pull request #4968 from dearblue/check-fdYukihiro "Matz" Matsumoto
Check the file descriptor with `IO#initialize`; resolve #4966
2020-04-14Selecting fd should be less than `FD_SETSIZE`; close #4966Yukihiro "Matz" Matsumoto
2020-04-12Check the file descriptor with `IO#initialize`; resolve #4966dearblue
2020-03-08Remove unnecessary 'stdio.h'; ref #4947dearblue
'stdio.h' is included in 'mruby.h' ('mrbconf.h'). However, keep 'stdio.h' used by mruby-test.
2020-03-08Small refactoring on #4952Yukihiro "Matz" Matsumoto
Fix the argument of `mrb_file_is_absolute_path()`.
2020-03-08Traditional, UNC, and Device Is Absolute?Reckordp
2020-03-08Commit from remoteReckordp
2020-03-08Evaluate all type pathReckordp
2020-03-07Small refactoring on #4939Yukihiro "Matz" Matsumoto
2020-03-07Use in-house macro `ISALPHA` instead of `isalpha`; ref #4950Yukihiro "Matz" Matsumoto
2020-03-07Merge branch 'io-pread-pwrite' of https://github.com/dearblue/mruby into ↵Yukihiro "Matz" Matsumoto
dearblue-io-pread-pwrite
2020-03-07Add absolute path for UNCReckordp
2020-03-07Fix typoReckordp
2020-03-07Merge the update suggested by @mattn; ref #4950Yukihiro "Matz" Matsumoto
2020-03-07Merge pull request #4950 from Reckordp/masterYukihiro "Matz" Matsumoto
Absolute path for windows
2020-03-07Absolute path for windowsReckordp
2020-02-05Merge pull request #4941 from davidsiaw/mac-compatYukihiro "Matz" Matsumoto
Include time.h for ios
2020-02-02Implement `IO#pread` and `IO#pwrite`dearblue
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-01-31Add explicit casting in `file.c` to silence warnings.Yukihiro "Matz" Matsumoto
2020-01-31Avoid casting warning from `mrb_int` to `int` in `io.c`.Yukihiro "Matz" Matsumoto
2020-01-28Merge pull request #4873 from dearblue/open-flagsYukihiro "Matz" Matsumoto
Support bit flags for `IO.open`
2020-01-28include time.h for iosDavid Siaw
2020-01-06Avoid Boxing/Unboxing of file descriptors; ref #4872Yukihiro "Matz" Matsumoto
2020-01-06Merge branch 'file-size-truncate' of https://github.com/dearblue/mruby into ↵Yukihiro "Matz" Matsumoto
dearblue-file-size-truncate