From 24ab4cc6f264caaf2342fac1e4467530df78d9aa Mon Sep 17 00:00:00 2001 From: havoc Date: Mon, 24 Mar 2008 00:13:43 +0000 Subject: [PATCH] implemented better \ parsing, matching stock Quake better git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8230 d7cf8633-e32d-0410-b094-e92efae38249 --- prvm_edict.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/prvm_edict.c b/prvm_edict.c index c6d5d77c..77c8f4ba 100644 --- a/prvm_edict.c +++ b/prvm_edict.c @@ -479,6 +479,11 @@ char *PRVM_UglyValueString (etype_t type, prvm_eval_t *val) line[i++] = '\\'; line[i++] = 'r'; } + else if (*s == '\\') + { + line[i++] = '\\'; + line[i++] = '\\'; + } else line[i++] = *s; s++; @@ -931,15 +936,15 @@ qboolean PRVM_ED_ParseEpair(prvm_edict_t *ent, ddef_t *key, const char *s, qbool val->string = PRVM_AllocString(l, &new_p); for (i = 0;i < l;i++) { - if (s[i] == '\\' && s[i+1] == 'n' && parsebackslash) + if (s[i] == '\\' && s[i+1] && parsebackslash) { i++; - *new_p++ = '\n'; - } - else if (s[i] == '\\' && s[i+1] == 'r' && parsebackslash) - { - i++; - *new_p++ = '\r'; + if (s[i] == 'n') + *new_p++ = '\n'; + else if (s[i] == 'r') + *new_p++ = '\r'; + else + *new_p++ = s[i]; } else *new_p++ = s[i]; -- 2.39.2