aboutsummaryrefslogtreecommitdiffhomepage
path: root/env_universal_common.cpp
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2013-11-24 22:57:49 -0800
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2013-11-24 22:58:39 -0800
commit9f6223311e7ae6a9d6d21e33bf0fa67822da6fb6 (patch)
tree401878fd6bfdb121ec41e977af1defe6a001f6f0 /env_universal_common.cpp
parent90b78326d393d2490e43491a93d8db4b449b972e (diff)
Large cleanup and refactoring of unescape() function.
Diffstat (limited to 'env_universal_common.cpp')
-rw-r--r--env_universal_common.cpp13
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
{