summaryrefslogtreecommitdiff
path: root/io.c
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-03-14 23:25:09 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-03-14 23:25:09 +0000
commitbfd52c985ccc3b2e245c87c197d73150d2b8d5df (patch)
tree3f5aeeb9394b0a1e4285b050971c393916ff5088 /io.c
parent1b179216a945abba11a9906e12b8068481c12566 (diff)
* file.c (rb_sys_fail_path): define & use rb_sys_fail_path0 like r39752
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r--io.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/io.c b/io.c
index 3efc5349b5..837c1b6ded 100644
--- a/io.c
+++ b/io.c
@@ -399,7 +399,20 @@ rb_cloexec_fcntl_dupfd(int fd, int minfd)
# endif
#endif
-#define rb_sys_fail_path(path) rb_sys_fail_str(path)
+#ifdef RUBY_FUNCTION_NAME_STRING
+# define rb_sys_fail_path(path) rb_sys_fail_path0(RUBY_FUNCTION_NAME_STRING, path)
+NORETURN(static void rb_sys_fail_path0(const char *,VALUE));
+static void
+rb_sys_fail_path0(const char *func_name, VALUE path)
+{
+ VALUE mesg = rb_str_new_cstr(func_name);
+ rb_str_buf_cat2(mesg, ": ");
+ rb_str_buf_append(mesg, path);
+ rb_sys_fail_str(mesg);
+}
+#else
+# define rb_sys_fail_path(path) rb_sys_fail_str(path)
+#endif
static int io_fflush(rb_io_t *);
static rb_io_t *flush_before_seek(rb_io_t *fptr);