1 --- busybox.old/shell/ash.c 2006-11-22 12:02:03.000000000 -0800
2 +++ busybox.dev/shell/ash.c 2006-11-22 11:05:32.000000000 -0800
3 @@ -12257,9 +12257,18 @@
6 int flag = argv[0][0] == 'r'? VREADONLY : VEXPORT;
10 - notp = nextopt("p") - 'p';
11 + while ((notp = nextopt("np"))) {
20 if (notp && ((name = *(aptr = argptr)))) {
22 if ((p = strchr(name, '=')) != NULL) {
23 @@ -12267,10 +12276,11 @@
25 if ((vp = *findvar(hashvar(name), name))) {
31 - setvar(name, p, flag);
32 + setvar(name, p, flag & mask);
33 } while ((name = *++aptr) != NULL);
35 showvars(argv[0], flag, 0);