summaryrefslogtreecommitdiff
path: root/pathname.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2026-05-06 09:18:46 +0900
committerNobuyoshi Nakada <nobu.nakada@gmail.com>2026-05-13 17:37:48 +0900
commitde8d33295d07c61783f5a68e435bc749faa87b25 (patch)
tree480f21e9a299dfafab239aed7aa9fa7c6c61532d /pathname.c
parent7dad6c043e3bb88b9e013cc471d62b162d8c352e (diff)
pathname: Move same_paths? to pathname.c
Diffstat (limited to 'pathname.c')
-rw-r--r--pathname.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/pathname.c b/pathname.c
index b2f1da8f75..a294a0d730 100644
--- a/pathname.c
+++ b/pathname.c
@@ -120,6 +120,18 @@ path_sub(int argc, VALUE *argv, VALUE self)
return rb_class_new_instance(1, &str, rb_obj_class(self));
}
+/* :nodoc: */
+static VALUE
+same_paths(VALUE self, VALUE a, VALUE b)
+{
+ check_strpath(a);
+ check_strpath(b);
+ if (CASEFOLD_FILESYSTEM)
+ return RBOOL(rb_str_casecmp(a, b) == INT2FIX(0));
+ else
+ return rb_str_equal(a, b);
+}
+
/*
* Predicate method for root directories. Returns +true+ if the
* pathname consists of consecutive slashes.
@@ -339,6 +351,7 @@ InitVM_pathname(void)
rb_define_method(rb_cPathname, "root?", path_root_p, 0);
rb_define_method(rb_cPathname, "absolute?", path_absolute_p, 0);
+ rb_define_private_method(rb_cPathname, "same_paths?", same_paths, 2);
rb_define_private_method(rb_cPathname, "has_separator?", has_separator_p, 1);
rb_define_private_method(rb_cPathname, "chop_basename", chop_basename, 1);
rb_define_private_method(rb_cPathname, "split_names", split_names, 1);