aboutsummaryrefslogtreecommitdiffstats
path: root/ruby.c
diff options
context:
space:
mode:
authorBenoit Daloze <eregontp@gmail.com>2023-08-02 17:08:19 +0200
committerBenoit Daloze <eregontp@gmail.com>2023-08-02 17:13:38 +0200
commit3c41a04b6cedbace1406d46a20a673f59b1502de (patch)
treecc48ba17ca43145456f13421267f3d5a0c0bb51f /ruby.c
parenta502cd80a592c90dc76daf06687ce67bdb183d02 (diff)
downloadruby-3c41a04b6cedbace1406d46a20a673f59b1502de.tar.gz
Fix encoding switches when RUBYOPT is empty or only spaces
* Follow-up of dbbc3583ba432c279f07b1fa0afb0a8a9ba50c91 which broke this.
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ruby.c b/ruby.c
index 30e0e68360..2b2a91ecac 100644
--- a/ruby.c
+++ b/ruby.c
@@ -895,10 +895,11 @@ moreswitches(const char *s, ruby_cmdline_options_t *opt, int envopt)
ruby_features_t warn = opt->warn;
int backtrace_length_limit = opt->backtrace_length_limit;
- opt->src.enc.name = opt->ext.enc.name = opt->intern.enc.name = 0;
-
while (ISSPACE(*s)) s++;
if (!*s) return;
+
+ opt->src.enc.name = opt->ext.enc.name = opt->intern.enc.name = 0;
+
argstr = rb_str_tmp_new((len = strlen(s)) + (envopt!=0));
argary = rb_str_tmp_new(0);