aboutsummaryrefslogtreecommitdiffstats
path: root/io.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2024-03-01 02:24:57 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2024-03-01 13:11:29 +0900
commit1a9a20cebda38994d1df1d8394206cac587098eb (patch)
tree72482be14aabc2caf4e7f6ab8a38c7b70127bc51 /io.c
parent452d51ffe16c52456c3366d95ce68e5af1875ec9 (diff)
downloadruby-1a9a20cebda38994d1df1d8394206cac587098eb.tar.gz
Turn `rb_sys_fail_on_write` into a function
Diffstat (limited to 'io.c')
-rw-r--r--io.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/io.c b/io.c
index b4488170ea..f77e5f85c8 100644
--- a/io.c
+++ b/io.c
@@ -533,10 +533,12 @@ static rb_io_t *flush_before_seek(rb_io_t *fptr);
extern ID ruby_static_id_signo;
-NORETURN(static void raise_on_write(rb_io_t *fptr, int e, VALUE errinfo));
+NORETURN(static void rb_sys_fail_on_write(rb_io_t *fptr));
static void
-raise_on_write(rb_io_t *fptr, int e, VALUE errinfo)
+rb_sys_fail_on_write(rb_io_t *fptr)
{
+ int e = errno;
+ VALUE errinfo = rb_syserr_new_path(e, (fptr)->pathv);
#if defined EPIPE
if (fptr_signal_on_epipe(fptr) && (e == EPIPE)) {
const VALUE sig =
@@ -550,12 +552,6 @@ raise_on_write(rb_io_t *fptr, int e, VALUE errinfo)
rb_exc_raise(errinfo);
}
-#define rb_sys_fail_on_write(fptr) \
- do { \
- int e = errno; \
- raise_on_write(fptr, e, rb_syserr_new_path(e, (fptr)->pathv)); \
- } while (0)
-
#define NEED_NEWLINE_DECORATOR_ON_READ(fptr) ((fptr)->mode & FMODE_TEXTMODE)
#define NEED_NEWLINE_DECORATOR_ON_WRITE(fptr) ((fptr)->mode & FMODE_TEXTMODE)
#if defined(RUBY_TEST_CRLF_ENVIRONMENT) || defined(_WIN32)