From 9f6223311e7ae6a9d6d21e33bf0fa67822da6fb6 Mon Sep 17 00:00:00 2001 From: ridiculousfish Date: Sun, 24 Nov 2013 22:57:49 -0800 Subject: Large cleanup and refactoring of unescape() function. --- env_universal_common.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'env_universal_common.cpp') diff --git a/env_universal_common.cpp b/env_universal_common.cpp index e82333a7..dbf79c1a 100644 --- a/env_universal_common.cpp +++ b/env_universal_common.cpp @@ -601,16 +601,13 @@ static void parse_message(wchar_t *msg, tmp = wcschr(name, L':'); if (tmp) { - wchar_t *val; const wcstring key(name, tmp - name); - val = tmp+1; - val = unescape(val, 0); - - if (val != NULL) - env_universal_common_set(key.c_str(), val, exportv); - - free(val); + wcstring val; + if (unescape_string(tmp + 1, &val, 0)) + { + env_universal_common_set(key.c_str(), val.c_str(), exportv); + } } else { -- cgit v1.2.3