summaryrefslogtreecommitdiff
path: root/package/utils/busybox/patches/250-ash_export-n.patch
diff options
context:
space:
mode:
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-06-21 16:54:37 +0000
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-06-21 16:54:37 +0000
commit4d953d3a481dd847524eae78c7aae00153bc7efd (patch)
tree37c9cbe251e4fb790aaa72e862c35822be30b491 /package/utils/busybox/patches/250-ash_export-n.patch
parent801985e5286881dd578a19280b2a6c8e212a530d (diff)
packages: clean up the package folder
Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37007 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/utils/busybox/patches/250-ash_export-n.patch')
-rw-r--r--package/utils/busybox/patches/250-ash_export-n.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/package/utils/busybox/patches/250-ash_export-n.patch b/package/utils/busybox/patches/250-ash_export-n.patch
new file mode 100644
index 0000000000..048c236b85
--- /dev/null
+++ b/package/utils/busybox/patches/250-ash_export-n.patch
@@ -0,0 +1,34 @@
+--- a/shell/ash.c
++++ b/shell/ash.c
+@@ -12611,8 +12611,17 @@ exportcmd(int argc UNUSED_PARAM, char **
+ const char *p;
+ char **aptr;
+ int flag = argv[0][0] == 'r' ? VREADONLY : VEXPORT;
++ int mask = ~0;
++ int nopt;
++ while ((nopt = nextopt("np"))) {
++ if (nopt == 'n') {
++ mask = ~flag;
++ } else { /* p */
++ break;
++ }
++ }
+
+- if (nextopt("p") != 'p') {
++ if (nopt != 'p') {
+ aptr = argptr;
+ name = *aptr;
+ if (name) {
+@@ -12624,10 +12633,12 @@ exportcmd(int argc UNUSED_PARAM, char **
+ vp = *findvar(hashvar(name), name);
+ if (vp) {
+ vp->flags |= flag;
++ vp->flags &= mask;
+ continue;
+ }
+ }
+ setvar(name, p, flag);
++ setvar(name, p, flag & mask);
+ } while ((name = *++aptr) != NULL);
+ return 0;
+ }