Changeset 160 for binary-improvements


Ignore:
Timestamp:
Sep 3, 2014, 3:30:01 PM (5 years ago)
Author:
alloc
Message:

fixes

Location:
binary-improvements
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/7dtd-server-fixes/src/JSON/JSONNode.cs

    r154 r160  
    55        public abstract class JSONNode
    66        {
    7                 public abstract string ToString();
     7                public abstract override string ToString();
    88        }
    99}
  • binary-improvements/7dtd-server-fixes/src/JSON/JSONString.cs

    r154 r160  
    11using System;
     2using System.Text;
    23
    34namespace AllocsFixes.JSON
     
    1415                public override string ToString ()
    1516                {
    16                         return string.Format ("\"{0}\"", value);
     17                        if (value == null || value.Length == 0) {
     18                                return "";
     19                        }
     20
     21                        int len = value.Length;
     22
     23                        StringBuilder sb = new StringBuilder (len + 4);
     24                        String t;
     25
     26                        foreach (char c in value) {
     27                                switch (c) {
     28                                        case '\\':
     29                                        case '"':
     30                                        case '/':
     31                                                sb.Append ('\\');
     32                                                sb.Append (c);
     33                                                break;
     34                                        case '\b':
     35                                                sb.Append ("\\b");
     36                                                break;
     37                                        case '\t':
     38                                                sb.Append ("\\t");
     39                                                break;
     40                                        case '\n':
     41                                                sb.Append ("\\n");
     42                                                break;
     43                                        case '\f':
     44                                                sb.Append ("\\f");
     45                                                break;
     46                                        case '\r':
     47                                                sb.Append ("\\r");
     48                                                break;
     49                                        default:
     50                                                if (c < ' ') {
     51                                                        t = "000" + String.Format ("X", c);
     52                                                        sb.Append ("\\u" + t.Substring (t.Length - 4));
     53                                                } else {
     54                                                        sb.Append (c);
     55                                                }
     56                                                break;
     57                                }
     58                        }
     59
     60                        return string.Format ("\"{0}\"", sb.ToString ());
    1761                }
    1862
  • binary-improvements/bin/Release/7dtd-server-fixes_version.txt

    r159 r160  
    1 Version:       0.91.5359.26222
     1Version:       0.91.5359.27894
Note: See TracChangeset for help on using the changeset viewer.