summaryrefslogtreecommitdiff
path: root/transcode.c
diff options
context:
space:
mode:
authorS.H <gamelinks007@gmail.com>2022-02-02 22:52:55 +0900
committerGitHub <noreply@github.com>2022-02-02 22:52:55 +0900
commitaf107710457b4bd148c6e5ee7a336ed4961f5423 (patch)
tree851add668477910bd07f1c8de56d86f93f7ea498 /transcode.c
parentd8c54bac4abd9ae42ac9d728cb4cbe1e101c7ad7 (diff)
Add `econv_get_encoding` function
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/5509 Merged-By: nobu <nobu@ruby-lang.org>
Diffstat (limited to 'transcode.c')
-rw-r--r--transcode.c16
1 files 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);
}
/*