aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorMike Baker <mbm@openwrt.org>2006-11-22 20:17:18 +0000
committerMike Baker <mbm@openwrt.org>2006-11-22 20:17:18 +0000
commit75b1b6822a852f592a398a8069ddd7a04f4e5af6 (patch)
tree9bee642d987b21d2aa319830d13ab7aa65a511c0 /package
parent56a0613318a1d1a676e1fb230f748ef0624f2afa (diff)
downloadupstream-75b1b6822a852f592a398a8069ddd7a04f4e5af6.tar.gz
upstream-75b1b6822a852f592a398a8069ddd7a04f4e5af6.tar.bz2
upstream-75b1b6822a852f592a398a8069ddd7a04f4e5af6.zip
add "export -n" to ash
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5615 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r--package/busybox/patches/250-ash_export-n.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/package/busybox/patches/250-ash_export-n.patch b/package/busybox/patches/250-ash_export-n.patch
new file mode 100644
index 0000000000..9823afeaf5
--- /dev/null
+++ b/package/busybox/patches/250-ash_export-n.patch
@@ -0,0 +1,35 @@
+--- busybox.old/shell/ash.c 2006-11-22 12:02:03.000000000 -0800
++++ busybox.dev/shell/ash.c 2006-11-22 11:05:32.000000000 -0800
+@@ -12257,9 +12257,18 @@
+ const char *p;
+ char **aptr;
+ int flag = argv[0][0] == 'r'? VREADONLY : VEXPORT;
++ int mask = ~0;
+ int notp;
+
+- notp = nextopt("p") - 'p';
++ while ((notp = nextopt("np"))) {
++ if (notp == 'n') {
++ mask = ~flag;
++ } else { /* p */
++ break;
++ }
++ }
++
++ notp -= 'p';
+ if (notp && ((name = *(aptr = argptr)))) {
+ do {
+ if ((p = strchr(name, '=')) != NULL) {
+@@ -12267,10 +12276,11 @@
+ } else {
+ if ((vp = *findvar(hashvar(name), name))) {
+ vp->flags |= flag;
++ vp->flags &= mask;
+ continue;
+ }
+ }
+- setvar(name, p, flag);
++ setvar(name, p, flag & mask);
+ } while ((name = *++aptr) != NULL);
+ } else {
+ showvars(argv[0], flag, 0);