]> git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
implemented better \ parsing, matching stock Quake better
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 24 Mar 2008 00:13:43 +0000 (00:13 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 24 Mar 2008 00:13:43 +0000 (00:13 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8230 d7cf8633-e32d-0410-b094-e92efae38249

prvm_edict.c

index c6d5d77c184a2a51b3ca1ede61b992632e7d3bc2..77c8f4ba1e8ece08135a332a2f1e19b39976b9e8 100644 (file)
@@ -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];