summaryrefslogtreecommitdiff
path: root/string.c
diff options
context:
space:
mode:
Diffstat (limited to 'string.c')
-rw-r--r--string.c136
1 files changed, 61 insertions, 75 deletions
diff --git a/string.c b/string.c
index 4a4532cb46..af2db491d0 100644
--- a/string.c
+++ b/string.c
@@ -1042,10 +1042,9 @@ rb_str_sub(argc, argv, str)
VALUE *argv;
VALUE str;
{
- VALUE val = rb_str_sub_bang(argc, argv, str = rb_str_dup(str));
-
- if (NIL_P(val)) return str;
- return val;
+ str = rb_str_dup(str);
+ rb_str_sub_bang(argc, argv, str);
+ return str;
}
static VALUE
@@ -1149,10 +1148,9 @@ rb_str_gsub(argc, argv, str)
VALUE *argv;
VALUE str;
{
- VALUE val = rb_str_gsub_bang(argc, argv, str = rb_str_dup(str));
-
- if (NIL_P(val)) return str;
- return val;
+ str = rb_str_dup(str);
+ rb_str_gsub_bang(argc, argv, str);
+ return str;
}
static VALUE
@@ -1194,13 +1192,13 @@ rb_f_sub(argc, argv)
int argc;
VALUE *argv;
{
- VALUE line, v;
+ VALUE line;
- line = uscore_get();
- v = rb_str_sub_bang(argc, argv, line = rb_str_dup(line));
- if (NIL_P(v)) return line;
- rb_lastline_set(v);
- return v;
+ line = rb_str_dup(uscore_get());
+ if (!NIL_P(rb_str_sub_bang(argc, argv, line))) {
+ rb_lastline_set(line);
+ }
+ return line;
}
static VALUE
@@ -1216,13 +1214,13 @@ rb_f_gsub(argc, argv)
int argc;
VALUE *argv;
{
- VALUE line, v;
+ VALUE line;
- line = uscore_get();
- v = rb_str_gsub_bang(argc, argv, line = rb_str_dup(line));
- if (NIL_P(v)) return line;
- rb_lastline_set(v);
- return v;
+ line = rb_str_dup(uscore_get());
+ if (!NIL_P(rb_str_gsub_bang(argc, argv, line = rb_str_dup(line)))) {
+ rb_lastline_set(line);
+ }
+ return line;
}
static VALUE
@@ -1523,10 +1521,9 @@ static VALUE
rb_str_upcase(str)
VALUE str;
{
- VALUE val = rb_str_upcase_bang(str = rb_str_dup(str));
-
- if (NIL_P(val)) return str;
- return val;
+ str = rb_str_dup(str);
+ rb_str_upcase_bang(str);
+ return str;
}
static VALUE
@@ -1557,10 +1554,9 @@ static VALUE
rb_str_downcase(str)
VALUE str;
{
- VALUE val = rb_str_downcase_bang(str = rb_str_dup(str));
-
- if (NIL_P(val)) return str;
- return val;
+ str = rb_str_dup(str);
+ rb_str_downcase_bang(str);
+ return str;
}
static VALUE
@@ -1593,10 +1589,9 @@ static VALUE
rb_str_capitalize(str)
VALUE str;
{
- VALUE val = rb_str_capitalize_bang(str = rb_str_dup(str));
-
- if (NIL_P(val)) return str;
- return val;
+ str = rb_str_dup(str);
+ rb_str_capitalize_bang(str);
+ return str;
}
static VALUE
@@ -1631,10 +1626,9 @@ static VALUE
rb_str_swapcase(str)
VALUE str;
{
- VALUE val = rb_str_swapcase_bang(str = rb_str_dup(str));
-
- if (NIL_P(val)) return str;
- return val;
+ str = rb_str_dup(str);
+ rb_str_swapcase_bang(str);
+ return str;
}
typedef unsigned char *USTR;
@@ -1782,10 +1776,9 @@ static VALUE
rb_str_tr(str, src, repl)
VALUE str, src, repl;
{
- VALUE val = tr_trans(str = rb_str_dup(str), src, repl, 0);
-
- if (NIL_P(val)) return str;
- return val;
+ str = rb_str_dup(str);
+ tr_trans(str, src, repl, 0);
+ return str;
}
static void
@@ -1866,10 +1859,9 @@ rb_str_delete(argc, argv, str)
VALUE *argv;
VALUE str;
{
- VALUE val = rb_str_delete_bang(argc, argv, str = rb_str_dup(str));
-
- if (NIL_P(val)) return str;
- return val;
+ str = rb_str_dup(str);
+ rb_str_delete_bang(argc, argv, str);
+ return str;
}
static VALUE
@@ -1927,10 +1919,9 @@ rb_str_squeeze(argc, argv, str)
VALUE *argv;
VALUE str;
{
- VALUE val = rb_str_squeeze_bang(argc, argv, str = rb_str_dup(str));
-
- if (NIL_P(val)) return str;
- return val;
+ str = rb_str_dup(str);
+ rb_str_squeeze_bang(argc, argv, str);
+ return str;
}
static VALUE
@@ -1944,10 +1935,9 @@ static VALUE
rb_str_tr_s(str, src, repl)
VALUE str, src, repl;
{
- VALUE val = tr_trans(str = rb_str_dup(str), src, repl, 1);
-
- if (NIL_P(val)) return str;
- return val;
+ str = rb_str_dup(str);
+ tr_trans(str, src, repl, 1);
+ return str;
}
static VALUE
@@ -2235,10 +2225,9 @@ static VALUE
rb_str_chop(str)
VALUE str;
{
- VALUE val = rb_str_chop_bang(str = rb_str_dup(str));
-
- if (NIL_P(val)) return str;
- return val;
+ str = rb_str_dup(str);
+ rb_str_chop_bang(str);
+ return str;
}
static VALUE
@@ -2251,12 +2240,12 @@ rb_f_chop_bang(str)
static VALUE
rb_f_chop()
{
- VALUE str = uscore_get();
- VALUE val = rb_str_chop_bang(str = rb_str_dup(str));
+ VALUE str = rb_str_dup(uscore_get());
- if (NIL_P(val)) return str;
- rb_lastline_set(val);
- return val;
+ if (!NIL_P(rb_str_chop_bang(str))) {
+ rb_lastline_set(str);
+ }
+ return str;
}
static VALUE
@@ -2308,10 +2297,9 @@ rb_str_chomp(argc, argv, str)
VALUE *argv;
VALUE str;
{
- VALUE val = rb_str_chomp_bang(argc, argv, str = rb_str_dup(str));
-
- if (NIL_P(val)) return str;
- return val;
+ str = rb_str_dup(str);
+ rb_str_chomp_bang(argc, argv, str);
+ return str;
}
static VALUE
@@ -2327,12 +2315,11 @@ rb_f_chomp(argc, argv)
int argc;
VALUE *argv;
{
- VALUE str = uscore_get();
- VALUE val = rb_str_chomp_bang(argc, argv, str = rb_str_dup(str));
-
- if (NIL_P(val)) return str;
- rb_lastline_set(val);
- return val;
+ VALUE str = rb_str_dup(uscore_get());
+ if (!NIL_P(rb_str_chomp_bang(argc, argv, str))) {
+ rb_lastline_set(str);
+ }
+ return str;
}
static VALUE
@@ -2375,10 +2362,9 @@ static VALUE
rb_str_strip(str)
VALUE str;
{
- VALUE val = rb_str_strip_bang(str = rb_str_dup(str));
-
- if (NIL_P(val)) return str;
- return val;
+ str = rb_str_dup(str);
+ rb_str_strip_bang(str);
+ return str;
}
static VALUE