summaryrefslogtreecommitdiffhomepage
path: root/src/string.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2020-06-20 12:49:46 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2020-06-20 12:49:46 +0900
commit49ae2a69f2c3acbb952406768320401cf1769425 (patch)
treefd0b49d898327a1de29e143fb2c68e6991cf710d /src/string.c
parent2ffb77586a8ce6f325d2981e2ad88cc9e62ae39b (diff)
downloadmruby-49ae2a69f2c3acbb952406768320401cf1769425.tar.gz
mruby-49ae2a69f2c3acbb952406768320401cf1769425.zip
Add `mrb_get_arg1()` that retrieves single (and only) argument.
`mrb_get_arg1()` raises `ArgumentError` if the method does not receive one argument. And replaces all `mrb_get_args(mrb, "o", &arg)` by the new function.
Diffstat (limited to 'src/string.c')
-rw-r--r--src/string.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/src/string.c b/src/string.c
index 44e3c9069..e65747318 100644
--- a/src/string.c
+++ b/src/string.c
@@ -1061,10 +1061,9 @@ mrb_str_cmp(mrb_state *mrb, mrb_value str1, mrb_value str2)
static mrb_value
mrb_str_cmp_m(mrb_state *mrb, mrb_value str1)
{
- mrb_value str2;
+ mrb_value str2 = mrb_get_arg1(mrb);
mrb_int result;
- mrb_get_args(mrb, "o", &str2);
if (!mrb_string_p(str2)) {
return mrb_nil_value();
}
@@ -1106,9 +1105,7 @@ mrb_str_equal(mrb_state *mrb, mrb_value str1, mrb_value str2)
static mrb_value
mrb_str_equal_m(mrb_state *mrb, mrb_value str1)
{
- mrb_value str2;
-
- mrb_get_args(mrb, "o", &str2);
+ mrb_value str2 = mrb_get_arg1(mrb);
return mrb_bool_value(mrb_str_equal(mrb, str1, str2));
}
@@ -1791,10 +1788,9 @@ mrb_str_empty_p(mrb_state *mrb, mrb_value self)
static mrb_value
mrb_str_eql(mrb_state *mrb, mrb_value self)
{
- mrb_value str2;
+ mrb_value str2 = mrb_get_arg1(mrb);
mrb_bool eql_p;
- mrb_get_args(mrb, "o", &str2);
eql_p = (mrb_string_p(str2)) && str_eql(mrb, self, str2);
return mrb_bool_value(eql_p);