Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ RawText() [1/2]

unsafe void System.Xml.XmlEncodedRawTextWriter.RawText ( char * pSrcBegin,
char * pSrcEnd )
inlineprotectedinherited

Definition at line 943 of file XmlEncodedRawTextWriter.cs.

944 {
945 fixed (char* ptr = _bufChars)
946 {
947 char* ptr2 = ptr + _bufPos;
948 char* ptr3 = pSrcBegin;
949 int num = 0;
950 while (true)
951 {
952 char* ptr4 = ptr2 + (pSrcEnd - ptr3);
953 if (ptr4 > ptr + _bufLen)
954 {
955 ptr4 = ptr + _bufLen;
956 }
957 for (; ptr2 < ptr4; ptr2++)
958 {
959 if ((num = *ptr3) >= 55296)
960 {
961 break;
962 }
963 ptr3++;
964 *ptr2 = (char)num;
965 }
966 if (ptr3 >= pSrcEnd)
967 {
968 break;
969 }
970 if (ptr2 >= ptr4)
971 {
972 _bufPos = (int)(ptr2 - ptr);
973 FlushBuffer();
974 ptr2 = ptr + 1;
975 }
976 else if (XmlCharType.IsSurrogate(num))
977 {
979 ptr3 += 2;
980 }
981 else if (num <= 127 || num >= 65534)
982 {
984 ptr3++;
985 }
986 else
987 {
988 *ptr2 = (char)num;
989 ptr2++;
990 ptr3++;
991 }
992 }
993 _bufPos = (int)(ptr2 - ptr);
994 }
995 }
unsafe char * InvalidXmlChar(int ch, char *pDst, bool entitize)
static unsafe char * EncodeSurrogate(char *pSrc, char *pSrcEnd, char *pDst)

References System.Xml.XmlEncodedRawTextWriter._bufChars, System.Xml.XmlEncodedRawTextWriter._bufLen, System.Xml.XmlEncodedRawTextWriter._bufPos, System.Xml.Dictionary, System.Xml.XmlEncodedRawTextWriter.EncodeSurrogate(), System.Xml.XmlEncodedRawTextWriter.FlushBuffer(), System.Xml.XmlEncodedRawTextWriter.InvalidXmlChar(), and System.Xml.XmlCharType.IsSurrogate().