From d6d4e6877c9670b871ba44b9ca8bece033d17f22 Mon Sep 17 00:00:00 2001 From: Samuel Williams Date: Sat, 19 Apr 2025 19:16:54 +0900 Subject: [PATCH] Tidy up `rb_io_fptr_finalize`. (#13136) --- internal/io.h | 2 ++ io.c | 24 ++++++------------------ 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/internal/io.h b/internal/io.h index f564eb1330..0fcb72ffab 100644 --- a/internal/io.h +++ b/internal/io.h @@ -125,6 +125,8 @@ VALUE rb_io_prep_stdin(void); VALUE rb_io_prep_stdout(void); VALUE rb_io_prep_stderr(void); +int rb_io_fptr_finalize(struct rb_io *fptr); + RUBY_SYMBOL_EXPORT_BEGIN /* io.c (export) */ void rb_maygvl_fd_fix_cloexec(int fd); diff --git a/io.c b/io.c index a8565e2559..7f4efca8da 100644 --- a/io.c +++ b/io.c @@ -5674,27 +5674,15 @@ rb_io_fptr_cleanup_all(rb_io_t *fptr) clear_codeconv(fptr); } -void -rb_io_fptr_finalize_internal(void *ptr) -{ - if (!ptr) return; - rb_io_fptr_cleanup_all(ptr); - free(ptr); -} - -#undef rb_io_fptr_finalize int -rb_io_fptr_finalize(rb_io_t *fptr) +rb_io_fptr_finalize(struct rb_io *io) { - if (!fptr) { - return 0; - } - else { - rb_io_fptr_finalize_internal(fptr); - return 1; - } + if (!io) return 0; + rb_io_fptr_cleanup_all(io); + free(io); + + return 1; } -#define rb_io_fptr_finalize(fptr) rb_io_fptr_finalize_internal(fptr) size_t rb_io_memsize(const rb_io_t *fptr)