← Commit list

109ee5d33

Denys Vlasenko
Denys Vlasenko
2014-03-16
SUCCESS Duration: 141s

Subject

ash: make "locak VAR" unset VAR (bash does that)

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

shell/ash.c+3 -0
@@ -8960,6 +8960,9 @@ mklocal(char *name)
vp->flags |= VSTRFIXED|VTEXTFIXED;
if (eq)
setvareq(name, 0);
+ else
+ /* "local VAR" unsets VAR: */
+ setvar(name, NULL, 0);
}
}
lvp->vp = vp;
shell/ash_test/ash-misc/local1.right+4 -0
@@ -0,0 +1,4 @@
+A1:'A'
+A2:''
+A3:''
+A4:'A'
shell/ash_test/ash-misc/local1.tests+11 -0
@@ -0,0 +1,11 @@
+a=A
+f() {
+ local a
+ # the above line unsets $a
+ echo "A2:'$a'"
+ unset a
+ echo "A3:'$a'"
+}
+echo "A1:'$a'"
+f
+echo "A4:'$a'"