diff --git a/ChangeLog b/ChangeLog index f201d84a7..c5756181e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-07-22 Richard Frith-Macdonald + + * Source/NSPropertyList.m: don't escape tab,cr,lf in output of old + style property lists. + 2004-07-21 David Ayers * Source/Additions/GSObjCRuntime.m diff --git a/Source/NSPropertyList.m b/Source/NSPropertyList.m index 309b0916f..5e8847cde 100644 --- a/Source/NSPropertyList.m +++ b/Source/NSPropertyList.m @@ -1237,11 +1237,14 @@ PString(NSString *obj, NSMutableData *output) { switch (*from) { - case '\a': - case '\b': case '\t': case '\r': case '\n': + len++; + break; + + case '\a': + case '\b': case '\v': case '\f': case '\\': @@ -1277,11 +1280,14 @@ PString(NSString *obj, NSMutableData *output) { switch (*from) { + case '\t': + case '\r': + case '\n': + *ptr++ = *from; + break; + case '\a': *ptr++ = '\\'; *ptr++ = 'a'; break; case '\b': *ptr++ = '\\'; *ptr++ = 'b'; break; - case '\t': *ptr++ = '\\'; *ptr++ = 't'; break; - case '\r': *ptr++ = '\\'; *ptr++ = 'r'; break; - case '\n': *ptr++ = '\\'; *ptr++ = 'n'; break; case '\v': *ptr++ = '\\'; *ptr++ = 'v'; break; case '\f': *ptr++ = '\\'; *ptr++ = 'f'; break; case '\\': *ptr++ = '\\'; *ptr++ = '\\'; break;