summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-io/src/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'mrbgems/mruby-io/src/file.c')
-rw-r--r--mrbgems/mruby-io/src/file.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/mrbgems/mruby-io/src/file.c b/mrbgems/mruby-io/src/file.c
index 03a6a070d..fe7861798 100644
--- a/mrbgems/mruby-io/src/file.c
+++ b/mrbgems/mruby-io/src/file.c
@@ -14,7 +14,6 @@
#include <sys/stat.h>
#include <fcntl.h>
-#include <limits.h>
#include <errno.h>
#include <stdlib.h>
@@ -89,7 +88,7 @@ flock(int fd, int operation) {
DWORD flags;
flags = ((operation & LOCK_NB) ? LOCKFILE_FAIL_IMMEDIATELY : 0)
| ((operation & LOCK_SH) ? LOCKFILE_EXCLUSIVE_LOCK : 0);
- memset(&ov, 0, sizeof(ov));
+ ov = (OVERLAPPED){0};
return LockFileEx(h, flags, 0, 0xffffffff, 0xffffffff, &ov) ? 0 : -1;
}
#endif
@@ -117,14 +116,14 @@ static mrb_value
mrb_file_s_unlink(mrb_state *mrb, mrb_value obj)
{
const mrb_value *argv;
- mrb_value pathv;
mrb_int argc, i;
char *path;
mrb_get_args(mrb, "*", &argv, &argc);
for (i = 0; i < argc; i++) {
const char *utf8_path;
- pathv = mrb_ensure_string_type(mrb, argv[i]);
+ mrb_value pathv = argv[i];
+ mrb_ensure_string_type(mrb, pathv);
utf8_path = RSTRING_CSTR(mrb, pathv);
path = mrb_locale_from_utf8(utf8_path, -1);
if (UNLINK(path) < 0) {
@@ -497,7 +496,7 @@ mrb_file_truncate(mrb_state *mrb, mrb_value self)
mrb_value lenv = mrb_get_arg1(mrb);
fd = mrb_io_fileno(mrb, self);
- length = mrb_int(mrb, lenv);
+ length = mrb_as_int(mrb, lenv);
if (mrb_ftruncate(fd, length) != 0) {
mrb_raise(mrb, E_IO_ERROR, "ftruncate failed");
}