refactoring
authorKonstantin Triger <kostat@mono-cvs.ximian.com>
Tue, 31 Jul 2007 07:49:35 +0000 (07:49 -0000)
committerKonstantin Triger <kostat@mono-cvs.ximian.com>
Tue, 31 Jul 2007 07:49:35 +0000 (07:49 -0000)
svn path=/trunk/mcs/; revision=83054

mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JSON/CountingTextWriter.cs

index 63f4e4dc4a32665a4734526c3d46c354c6050271..1e512e043aa33e86dd1f3593b1d905e032a94f7a 100644 (file)
@@ -54,20 +54,20 @@ namespace System.Web.Script.Serialization
 \r
                public override void Write (char value) \r
                {\r
-                       if (MaxJsonLength > 0 && (writtenChars + 1) > MaxJsonLength) {\r
-                               throw new InvalidOperationException ("Maximum length exceeded.");\r
-                       }\r
+                       EnsureNotExceedLength (1);\r
                        realWriter.Write (value);\r
-                       writtenChars++;\r
                }\r
 \r
                public override void Write (string value) \r
                {\r
-                       if (MaxJsonLength > 0 && (writtenChars + value.Length) > MaxJsonLength) {\r
-                               throw new InvalidOperationException ("Maximum length exceeded.");\r
-                       }\r
+                       EnsureNotExceedLength (value.Length);\r
                        realWriter.Write (value);\r
-                       writtenChars += value.Length;\r
+               }\r
+\r
+               void EnsureNotExceedLength (int length) {\r
+                       writtenChars += length;\r
+                       if (writtenChars > MaxJsonLength)\r
+                               throw new InvalidOperationException ("Maximum length exceeded.");\r
                }\r
 \r
                public override Encoding Encoding \r