dearblue
c5dc184a6d
Use struct _stat32 instead of struct __stat32
...
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-11 22:09:28 +09:00
Yukihiro "Matz" Matsumoto
3b8df2c285
Fixed VC fstat issue.
2020-08-11 16:35:50 +09:00
Yukihiro "Matz" Matsumoto
cfaaf7c6d4
Should use _fstat32() on 32bit Windows.
2020-08-11 16:02:05 +09:00
Yukihiro "Matz" Matsumoto
4695dfdcb6
Avoid using mrb_funcall() from mruby-io gem.
2020-08-10 08:53:35 +09:00
Yukihiro "Matz" Matsumoto
49ae2a69f2
Add mrb_get_arg1() that retrieves single (and only) argument.
...
`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-20 12:49:46 +09:00
dearblue
ce12ef7e5c
Hiding method implementation C functions in mruby-io
2020-06-03 14:12:51 +09:00
Yukihiro "Matz" Matsumoto
d64c4d64e6
Make off_t handling simpler; #4872 #4939
...
The newer `clang` warns implicit float conversions.
2020-05-11 10:14:25 +09:00
Yukihiro "Matz" Matsumoto
1cc270f0cc
Small refactoring on #4952
...
Fix the argument of `mrb_file_is_absolute_path()`.
2020-03-08 18:57:49 +09:00
Reckordp
ab1465d9d5
Traditional, UNC, and Device Is Absolute?
2020-03-08 10:53:18 +07:00
Reckordp
6ee24fe1bc
Evaluate all type path
2020-03-08 05:32:27 +07:00
Reckordp
5a4b9fd877
Add absolute path for UNC
2020-03-07 15:50:14 +07:00
Reckordp
f319c5fb26
Fix typo
2020-03-07 15:18:48 +07:00
Yukihiro "Matz" Matsumoto
4687f8790c
Merge the update suggested by @mattn; ref #4950
2020-03-07 14:58:05 +09:00
Yukihiro "Matz" Matsumoto
30eaee30fa
Merge pull request #4950 from Reckordp/master
...
Absolute path for windows
2020-03-07 14:53:37 +09:00
Reckordp
8df49ea955
Absolute path for windows
2020-03-07 09:09:28 +07:00
Yukihiro "Matz" Matsumoto
db64bd42d3
Add explicit casting in file.c to silence warnings.
2020-01-31 09:26:45 +09:00
Yukihiro "Matz" Matsumoto
e7e999414c
Merge pull request #4873 from dearblue/open-flags
...
Support bit flags for `IO.open`
2020-01-28 11:09:33 +09:00
Yukihiro "Matz" Matsumoto
b545f62aeb
Avoid Boxing/Unboxing of file descriptors; ref #4872
2020-01-06 18:57:43 +09:00
Yukihiro "Matz" Matsumoto
ca71eb7eef
Merge branch 'file-size-truncate' of https://github.com/dearblue/mruby into dearblue-file-size-truncate
2020-01-06 18:49:52 +09:00
dearblue
69619aeeb1
Support bit flags for IO.open
...
Note that this bit flags are not compatible with the native flags
defined in `#include <fcntl.h>`.
2019-12-14 15:19:13 +09:00
dearblue
6d9ac89f92
Implement File#size and File#truncate
2019-12-14 15:10:57 +09:00
dearblue
c18a8c53e8
Remove unnessesary branches
2019-12-14 15:01:42 +09:00
KOBAYASHI Shuji
7e03f47370
Fix argument specs to File
2019-11-01 22:02:18 +09:00
Yukihiro "Matz" Matsumoto
78e54904b5
Silence double free warnings by mrb_local_free().
...
The warnings were detected by cppcheck.
2019-10-10 20:46:12 +09:00
Yukihiro "Matz" Matsumoto
98fc887cb3
Reorganize mrb_string_value_cstr and related functions.
...
`mrb_string_value_cstr` and `mrb_string_value_len`: obsolete
`mrb_string_cstr`: new function to retrieve NULL terminated C string
`RSTRING_CSTR`: wrapper macro of `mrb_string_cstr`
2019-08-07 15:52:10 +09:00
KOBAYASHI Shuji
334afb167c
Use new specifiers/modifiers of mrb_vfromat()
...
The binary sizes (gems are only `mruby-bin-mruby`) are reduced slightly in
my environment than before the introduction of new specifiers/modifiers
(5116789a ) with this change.
------------+-------------------+-------------------+--------
BINARY | BEFORE (5116789a ) | AFTER (This PR) | RATIO
------------+-------------------+-------------------+--------
mruby | 593416 bytes | 593208 bytes | -0.04%
libmruby.a | 769048 bytes | 767264 bytes | -0.23%
------------+-------------------+-------------------+--------
BTW, I accidentally changed `tasks/toolchains/visualcpp.rake` at #4613 ,
so I put it back.
2019-08-05 13:18:50 +09:00
KOBAYASHI Shuji
f2719e903a
Move mrb_gc_arena_restore to inside the loop in mrb_file_s_chmod
2019-05-10 21:10:44 +09:00
KOBAYASHI Shuji
e2604c1550
Avoid using mrb_str_to_cstr if possible
...
Because it always allocate new string. Replace with the followings:
- Use `RSRING_PTR` if string is guaranteed to be null-terminated.
- Use `mrb_string_value_cstr` or `mrb_get_args("z")` if return value isn't
modified.
2019-05-06 23:32:53 +09:00
Yukihiro "Matz" Matsumoto
ff08856fe3
Remove implicit conversion using to_str method; fix #3854
...
We have added internal convenience method `__to_str` which
does string type check.
The issue #3854 was fixed but fundamental flaw of lack of stack
depth check along with fibers still remains. Use `MRB_GC_FIXED_ARENA`
for workaround.
2018-11-19 12:05:46 +09:00
Yukihiro "Matz" Matsumoto
c095736002
Try to fix a fragile File#mtime test.
2018-08-13 23:15:52 +09:00
Yusuke Endoh
7917b7f8bf
Support MRB_WITHOUT_FLOAT to mruby-io
2018-07-02 10:47:56 +09:00
Yukihiro "Matz" Matsumoto
5e7ced0785
Merge pull request #4047 from kou/stop-to-use-freed-value
...
Stop to use freed value
2018-06-19 19:33:37 +09:00
Kouhei Sutou
33c8c8f8a6
Stop to use freed value
2018-06-19 17:27:34 +09:00
Kouhei Sutou
fb9358206e
Fix wrong free function
...
mrb_locale_free() should be used for the return value of
mrb_locale_from_utf8().
2018-06-19 17:25:38 +09:00
Yasuhiro Matsumoto
f4f006ba40
add File#mtime
2018-01-30 16:02:00 +09:00
Yukihiro "Matz" Matsumoto
fa33bd86a8
Remove VC++ compiler warnings.
2017-12-13 11:39:32 +09:00
Yasuhiro Matsumoto
16c2ac2588
fix path locales
2017-12-13 10:12:59 +09:00
Yukihiro "Matz" Matsumoto
c66978521d
Reduce VC++ type mismatch warnings.
2017-12-13 08:10:35 +09:00
Yukihiro "Matz" Matsumoto
5a5adafabf
Merge pull request #3886 from mattn/io-windows
...
implement popen/flock on Windows
2017-12-13 07:56:24 +09:00
Yasuhiro Matsumoto
b07269584c
fix build for MSVC
2017-12-13 00:21:30 +09:00
Yasuhiro Matsumoto
f1ea7a31c0
implement flock on Windows
2017-12-12 23:21:41 +09:00
窪山 翔士
e71a6a7b2c
fixed mruby-io so that the test passes on cygwin
2017-12-12 17:29:05 +09:00
Yukihiro "Matz" Matsumoto
83065df67a
Reduce compiler warnings from mruby-io gem.
2017-12-08 10:07:41 +09:00
Yukihiro "Matz" Matsumoto
bc9e3e6fd0
Add type cast to readline(2) return value.
2017-12-07 20:26:34 +09:00
Yukihiro "Matz" Matsumoto
d75266dd1b
Add 'mrbgems/mruby-io/' from commit '3c8e1f94c44252c836f79a48bb17726da28e2756'
...
git-subtree-dir: mrbgems/mruby-io
git-subtree-mainline: 10ed730e4b
git-subtree-split: 3c8e1f94c4
2017-12-07 18:11:06 +09:00