summaryrefslogtreecommitdiff
path: root/error.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2020-04-15 00:59:23 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2020-04-15 21:00:53 +0900
commitd72fd1e45b192ab507f8170ceec1328c2aae7bb1 (patch)
treeabdba30a38cd0efcb2d937abd46386c138d56740 /error.c
parent69b3e0ac59f99bbd7e9a76af283f0be1991a3bde (diff)
Added rb_syserr_new_path
Similar to rb_syserr_fail_path, but just returns the created exception instance instead of raising it.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/3035
Diffstat (limited to 'error.c')
-rw-r--r--error.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/error.c b/error.c
index 7e4fb7be29..d6be8d8754 100644
--- a/error.c
+++ b/error.c
@@ -2830,6 +2830,12 @@ rb_sys_fail_path_in(const char *func_name, VALUE path)
void
rb_syserr_fail_path_in(const char *func_name, int n, VALUE path)
{
+ rb_exc_raise(rb_syserr_new_path_in(func_name, n, path));
+}
+
+VALUE
+rb_syserr_new_path_in(const char *func_name, int n, VALUE path)
+{
VALUE args[2];
if (!path) path = Qnil;
@@ -2841,7 +2847,7 @@ rb_syserr_fail_path_in(const char *func_name, int n, VALUE path)
}
args[0] = path;
args[1] = rb_str_new_cstr(func_name);
- rb_exc_raise(rb_class_new_instance(2, args, get_syserr(n)));
+ return rb_class_new_instance(2, args, get_syserr(n));
}
#endif