diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-04-15 00:59:23 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-04-15 21:00:53 +0900 |
commit | d72fd1e45b192ab507f8170ceec1328c2aae7bb1 (patch) | |
tree | abdba30a38cd0efcb2d937abd46386c138d56740 /error.c | |
parent | 69b3e0ac59f99bbd7e9a76af283f0be1991a3bde (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.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -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 |