summaryrefslogtreecommitdiff
path: root/perl.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2021-08-21 17:09:59 +0000
committerNicholas Clark <nick@ccl4.org>2021-08-23 08:29:09 +0000
commit43231a2f47936854a0cf2d8f4d0f9a16c8d5eeb2 (patch)
tree692d98a0f0b487d120178a0ad145d3b194269400 /perl.c
parentae9fbee784e5fa83f50add6e6a8659379f4033e2 (diff)
downloadperl-43231a2f47936854a0cf2d8f4d0f9a16c8d5eeb2.tar.gz
Move some variables in S_init_postdump_symbols() to a tighter scope.
Diffstat (limited to 'perl.c')
-rw-r--r--perl.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/perl.c b/perl.c
index c2fecc048b..62dbe1aef2 100644
--- a/perl.c
+++ b/perl.c
@@ -4587,9 +4587,6 @@ S_init_postdump_symbols(pTHX_ int argc, char **argv, char **env)
environ[0] = NULL;
}
if (env) {
- char *s, *old_var;
- STRLEN nlen;
- SV *sv;
HV *dups = newHV();
char **env_copy = env;
size_t count;
@@ -4612,16 +4609,20 @@ S_init_postdump_symbols(pTHX_ int argc, char **argv, char **env)
for (; *env; env++) {
- old_var = *env;
+ char *old_var = *env;
+ char *s = strchr(old_var, '=');
+ STRLEN nlen;
+ SV *sv;
- if (!(s = strchr(old_var,'=')) || s == old_var)
- continue;
- nlen = s - old_var;
+ if (!s || s == old_var)
+ continue;
+
+ nlen = s - old_var;
#if defined(MSDOS) && !defined(DJGPP)
- *s = '\0';
- (void)strupr(old_var);
- *s = '=';
+ *s = '\0';
+ (void)strupr(old_var);
+ *s = '=';
#endif
if (hv_exists(hv, old_var, nlen)) {
const char *name = savepvn(old_var, nlen);