From af107710457b4bd148c6e5ee7a336ed4961f5423 Mon Sep 17 00:00:00 2001 From: "S.H" Date: Wed, 2 Feb 2022 22:52:55 +0900 Subject: [PATCH] Add `econv_get_encoding` function --- transcode.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/transcode.c b/transcode.c index d7011443f8..9cc4d00f28 100644 --- a/transcode.c +++ b/transcode.c @@ -3499,6 +3499,14 @@ check_econv(VALUE self) return ec; } +static VALUE +econv_get_encoding(rb_encoding *encoding) +{ + if (!encoding) + return Qnil; + return rb_enc_from_encoding(encoding); +} + /* * call-seq: * ec.source_encoding -> encoding @@ -3509,9 +3517,7 @@ static VALUE econv_source_encoding(VALUE self) { rb_econv_t *ec = check_econv(self); - if (!ec->source_encoding) - return Qnil; - return rb_enc_from_encoding(ec->source_encoding); + return econv_get_encoding(ec->source_encoding); } /* @@ -3524,9 +3530,7 @@ static VALUE econv_destination_encoding(VALUE self) { rb_econv_t *ec = check_econv(self); - if (!ec->destination_encoding) - return Qnil; - return rb_enc_from_encoding(ec->destination_encoding); + return econv_get_encoding(ec->destination_encoding); } /*