From f3ed44bb461d0db6982076305787a67c3568d1f0 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 17 Jan 2016 00:28:58 -0800 Subject: Bugfix: env-hash discarding characters after =. * sysif.c (make_hash): Fix incorrect treatment of env values which contain equal signs, due to careless use of split_str. --- sysif.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sysif.c b/sysif.c index cd59cc64..18761e59 100644 --- a/sysif.c +++ b/sysif.c @@ -177,8 +177,11 @@ static val env_hash(void) val hash = make_hash(nil, nil, t); for (; env_strings; env_strings = cdr(env_strings)) { - cons_bind (key, val_cons, split_str(car(env_strings), lit("="))); - sethash(hash, key, car(val_cons)); + val estr = car(env_strings); + val eqpos = break_str(estr, lit("=")); + val key = sub(estr, 0, eqpos); + val val = sub(estr, succ(eqpos), t); + sethash(hash, key, val); } return hash; -- cgit v1.2.3