mk: do not truncate environmental variable use smprint() to support arbitrary long environmental variables Signed-off-by: dexen deVries --- src/cmd/mk/unix.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/cmd/mk/unix.c b/src/cmd/mk/unix.c index c63d3ce..6a1312a 100644 --- a/src/cmd/mk/unix.c +++ b/src/cmd/mk/unix.c @@ -55,16 +55,14 @@ exportenv(Envy *e, Shell *sh) { int i; char **p; - static char buf[16384]; p = 0; for(i = 0; e->name; e++, i++) { p = (char**) Realloc(p, (i+2)*sizeof(char*)); if(e->values) - snprint(buf, sizeof buf, "%s=%s", e->name, wtos(e->values, sh->iws)); + p[i] = smprint("%s=%s", e->name, wtos(e->values, sh->iws)); else - snprint(buf, sizeof buf, "%s=", e->name); - p[i] = strdup(buf); + p[i] = smprint("%s=", e->name); } p[i] = 0; environ = p; -- 1.7.4.1