diff options
author | 2013-11-24 22:57:49 -0800 | |
---|---|---|
committer | 2013-11-24 22:58:39 -0800 | |
commit | 9f6223311e7ae6a9d6d21e33bf0fa67822da6fb6 (patch) | |
tree | 401878fd6bfdb121ec41e977af1defe6a001f6f0 /env_universal_common.cpp | |
parent | 90b78326d393d2490e43491a93d8db4b449b972e (diff) |
Large cleanup and refactoring of unescape() function.
Diffstat (limited to 'env_universal_common.cpp')
-rw-r--r-- | env_universal_common.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
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 { |