summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2020-03-08 19:01:29 +0900
committerGitHub <[email protected]>2020-03-08 19:01:29 +0900
commite15e6e761edc33d9e1b315738bdc788654e06428 (patch)
tree29dd4d453a56ab0a091b1996f11a8b92727e885f
parent7c85a1ff073dabb2495e4146032ea54930308623 (diff)
parent1cc270f0ccad71356bc1cdee7ffc7db4bf106afa (diff)
downloadmruby-e15e6e761edc33d9e1b315738bdc788654e06428.tar.gz
mruby-e15e6e761edc33d9e1b315738bdc788654e06428.zip
Merge branch 'master' into BuildAndroid
-rw-r--r--AUTHORS2
-rw-r--r--mrbgems/mruby-io/src/file.c13
2 files changed, 8 insertions, 7 deletions
diff --git a/AUTHORS b/AUTHORS
index 76d2f7946..366149fb0 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -42,4 +42,4 @@ of this list.
Masahiro Wakame
YAMAMOTO Masaya
KOBAYASHI Shuji
- RIZAL Reckordp \ No newline at end of file
+ RIZAL Reckordp
diff --git a/mrbgems/mruby-io/src/file.c b/mrbgems/mruby-io/src/file.c
index d3da5daaf..e166d82fa 100644
--- a/mrbgems/mruby-io/src/file.c
+++ b/mrbgems/mruby-io/src/file.c
@@ -287,27 +287,28 @@ mrb_file__getwd(mrb_state *mrb, mrb_value klass)
#define CHECK_UNCDEV_PATH (IS_FILESEP(path[0]) && IS_FILESEP(path[1]))
static int
-is_absolute_traditional_path(const char *path, int len)
+is_absolute_traditional_path(const char *path, size_t len)
{
if (len < 3) return 0;
return (ISALPHA(path[0]) && IS_VOLSEP(path[1]) && IS_FILESEP(path[2]));
}
static int
-is_aboslute_unc_path(const char *path, int len) {
+is_aboslute_unc_path(const char *path, size_t len) {
if (len < 2) return 0;
return (CHECK_UNCDEV_PATH && !IS_DEVICEID(path[2]));
}
static int
-is_absolute_device_path(const char *path, int len) {
+is_absolute_device_path(const char *path, size_t len) {
if (len < 4) return 0;
return (CHECK_UNCDEV_PATH && IS_DEVICEID(path[2]) && IS_FILESEP(path[3]));
}
static int
-mrb_file_is_absolute_path(const char *path, int len)
+mrb_file_is_absolute_path(const char *path)
{
+ size_t len = strlen(path);
if (IS_FILESEP(path[0])) return 1;
if (len > 0)
return (
@@ -366,14 +367,14 @@ mrb_file__gethome(mrb_state *mrb, mrb_value klass)
path = mrb_str_new_cstr(mrb, home);
mrb_locale_free(home);
return path;
-#else
+#else /* _WIN32 */
argc = mrb_get_argc(mrb);
if (argc == 0) {
home = getenv("USERPROFILE");
if (home == NULL) {
return mrb_nil_value();
}
- if (!mrb_file_is_absolute_path(home, strlen(home))) {
+ if (!mrb_file_is_absolute_path(home)) {
mrb_raise(mrb, E_ARGUMENT_ERROR, "non-absolute home");
}
} else {