diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2024-03-01 02:24:57 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2024-03-01 13:11:29 +0900 |
commit | 1a9a20cebda38994d1df1d8394206cac587098eb (patch) | |
tree | 72482be14aabc2caf4e7f6ab8a38c7b70127bc51 /io.c | |
parent | 452d51ffe16c52456c3366d95ce68e5af1875ec9 (diff) | |
download | ruby-1a9a20cebda38994d1df1d8394206cac587098eb.tar.gz |
Turn `rb_sys_fail_on_write` into a function
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 12 |
1 files changed, 4 insertions, 8 deletions
@@ -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) |