[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnetlib/System.Xml XmlConvert.cs,1.3,1.4 Xml
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnetlib/System.Xml XmlConvert.cs,1.3,1.4 XmlTextWriter.cs,1.15,1.16 |
Date: |
Fri, 14 Feb 2003 00:57:44 -0500 |
Update of /cvsroot/dotgnu-pnet/pnetlib/System.Xml
In directory subversions:/tmp/cvs-serv746/System.Xml
Modified Files:
XmlConvert.cs XmlTextWriter.cs
Log Message:
Fix some problems with the ECMA-compatible build.
Index: XmlConvert.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/System.Xml/XmlConvert.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** XmlConvert.cs 2 Dec 2002 03:14:31 -0000 1.3
--- XmlConvert.cs 14 Feb 2003 05:57:41 -0000 1.4
***************
*** 689,692 ****
--- 689,752 ----
}
+ // Characters to use to encode 6-bit values in base64.
+ internal const String base64Chars =
+
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+ // Convert a byte buffer into a base64 string.
+ internal static String ToBase64String
+ (byte[] inArray, int offset, int length)
+ {
+ // Validate the parameters.
+ if(inArray == null)
+ {
+ throw new
ArgumentNullException("inArray");
+ }
+ if(offset < 0 || offset > inArray.Length)
+ {
+ throw new ArgumentOutOfRangeException
+ ("offset",
S._("ArgRange_Array"));
+ }
+ if(length < 0 || length > (inArray.Length -
offset))
+ {
+ throw new ArgumentOutOfRangeException
+ ("length",
S._("ArgRange_Array"));
+ }
+
+ // Convert the bytes.
+ StringBuilder builder =
+ new StringBuilder
+ ((int)(((((long)length) + 2L) *
4L) / 3L));
+ int bits = 0;
+ int numBits = 0;
+ String base64 = base64Chars;
+ int size = length;
+ while(size > 0)
+ {
+ bits = (bits << 8) + inArray[offset++];
+ numBits += 8;
+ --size;
+ while(numBits >= 6)
+ {
+ numBits -= 6;
+ builder.Append(base64[bits >>
numBits]);
+ bits &= ((1 << numBits) - 1);
+ }
+ }
+ length %= 3;
+ if(length == 1)
+ {
+ builder.Append(base64[bits << (6 -
numBits)]);
+ builder.Append('=');
+ builder.Append('=');
+ }
+ else if(length == 2)
+ {
+ builder.Append(base64[bits << (6 -
numBits)]);
+ builder.Append('=');
+ }
+
+ // Finished.
+ return builder.ToString();
+ }
}; // class XmlConvert
Index: XmlTextWriter.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/System.Xml/XmlTextWriter.cs,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -r1.15 -r1.16
*** XmlTextWriter.cs 18 Jan 2003 15:46:22 -0000 1.15
--- XmlTextWriter.cs 14 Feb 2003 05:57:41 -0000 1.16
***************
*** 362,366 ****
}
! WriteRaw(Convert.ToBase64String(buffer));
}
--- 362,366 ----
}
! WriteRaw(XmlConvert.ToBase64String(buffer,
index, count));
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnetlib/System.Xml XmlConvert.cs,1.3,1.4 XmlTextWriter.cs,1.15,1.16,
Rhys Weatherley <address@hidden> <=