Imported Upstream version 5.10.0.47

Former-commit-id: d0813289fa2d35e1f8ed77530acb4fb1df441bc0
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-01-24 17:04:36 +00:00
parent 88ff76fe28
commit e46a49ecf1
5927 changed files with 226314 additions and 129848 deletions

View File

@@ -97,12 +97,11 @@ public class CP874 : ByteEncoding
return GetBytesImpl(chars, count, null, 0);
}
else
{
return count;
}
}
// Get the number of bytes needed to encode a character buffer.
public override int GetByteCount (String s)
{
@@ -123,7 +122,7 @@ public class CP874 : ByteEncoding
return s.Length;
}
}
//ToBytes is just an alias for GetBytesImpl, but doesn't return byte count
protected unsafe override void ToBytes(char* chars, int charCount,
byte* bytes, int byteCount)
@@ -133,7 +132,7 @@ public class CP874 : ByteEncoding
throw new ArgumentNullException("bytes");
GetBytesImpl(chars, charCount, bytes, byteCount);
}
public unsafe override int GetBytesImpl (char* chars, int charCount,
byte* bytes, int byteCount)
{
@@ -144,8 +143,6 @@ public class CP874 : ByteEncoding
while (charCount > 0)
{
ch = (int)(chars[charIndex]);
charIndex++;
charCount--;
if(ch >= 26) switch(ch)
{
case 0x001B:
@@ -355,6 +352,8 @@ public class CP874 : ByteEncoding
else
{
HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
charIndex++;
charCount--;
continue;
}
}
@@ -365,237 +364,11 @@ public class CP874 : ByteEncoding
bytes[byteIndex] = (byte)ch;
byteIndex++;
byteCount--;
charIndex++;
charCount--;
}
return byteIndex;
}
/*
protected override void ToBytes(String s, int charIndex, int charCount,
byte[] bytes, int byteIndex)
{
int ch;
while(charCount > 0)
{
ch = (int)(s[charIndex++]);
if(ch >= 26) switch(ch)
{
case 0x001B:
case 0x001D:
case 0x001E:
case 0x001F:
case 0x0020:
case 0x0021:
case 0x0022:
case 0x0023:
case 0x0024:
case 0x0025:
case 0x0026:
case 0x0027:
case 0x0028:
case 0x0029:
case 0x002A:
case 0x002B:
case 0x002C:
case 0x002D:
case 0x002E:
case 0x002F:
case 0x0030:
case 0x0031:
case 0x0032:
case 0x0033:
case 0x0034:
case 0x0035:
case 0x0036:
case 0x0037:
case 0x0038:
case 0x0039:
case 0x003A:
case 0x003B:
case 0x003C:
case 0x003D:
case 0x003E:
case 0x003F:
case 0x0040:
case 0x0041:
case 0x0042:
case 0x0043:
case 0x0044:
case 0x0045:
case 0x0046:
case 0x0047:
case 0x0048:
case 0x0049:
case 0x004A:
case 0x004B:
case 0x004C:
case 0x004D:
case 0x004E:
case 0x004F:
case 0x0050:
case 0x0051:
case 0x0052:
case 0x0053:
case 0x0054:
case 0x0055:
case 0x0056:
case 0x0057:
case 0x0058:
case 0x0059:
case 0x005A:
case 0x005B:
case 0x005C:
case 0x005D:
case 0x005E:
case 0x005F:
case 0x0060:
case 0x0061:
case 0x0062:
case 0x0063:
case 0x0064:
case 0x0065:
case 0x0066:
case 0x0067:
case 0x0068:
case 0x0069:
case 0x006A:
case 0x006B:
case 0x006C:
case 0x006D:
case 0x006E:
case 0x006F:
case 0x0070:
case 0x0071:
case 0x0072:
case 0x0073:
case 0x0074:
case 0x0075:
case 0x0076:
case 0x0077:
case 0x0078:
case 0x0079:
case 0x007A:
case 0x007B:
case 0x007C:
case 0x007D:
case 0x007E:
break;
case 0x001A: ch = 0x7F; break;
case 0x001C: ch = 0x1A; break;
case 0x007F: ch = 0x1C; break;
case 0x00A0: ch = 0xFF; break;
case 0x00A2: ch = 0xFC; break;
case 0x00A6: ch = 0xFE; break;
case 0x00AC: ch = 0xFD; break;
case 0x0E01:
case 0x0E02:
case 0x0E03:
case 0x0E04:
case 0x0E05:
case 0x0E06:
case 0x0E07:
case 0x0E08:
case 0x0E09:
case 0x0E0A:
case 0x0E0B:
case 0x0E0C:
case 0x0E0D:
case 0x0E0E:
case 0x0E0F:
case 0x0E10:
case 0x0E11:
case 0x0E12:
case 0x0E13:
case 0x0E14:
case 0x0E15:
case 0x0E16:
case 0x0E17:
case 0x0E18:
case 0x0E19:
case 0x0E1A:
case 0x0E1B:
case 0x0E1C:
case 0x0E1D:
case 0x0E1E:
case 0x0E1F:
case 0x0E20:
case 0x0E21:
case 0x0E22:
case 0x0E23:
case 0x0E24:
case 0x0E25:
case 0x0E26:
case 0x0E27:
case 0x0E28:
case 0x0E29:
case 0x0E2A:
case 0x0E2B:
case 0x0E2C:
case 0x0E2D:
case 0x0E2E:
case 0x0E2F:
case 0x0E30:
case 0x0E31:
case 0x0E32:
case 0x0E33:
case 0x0E34:
case 0x0E35:
case 0x0E36:
case 0x0E37:
case 0x0E38:
case 0x0E39:
case 0x0E3A:
ch -= 0x0D60;
break;
case 0x0E3F:
case 0x0E40:
case 0x0E41:
case 0x0E42:
case 0x0E43:
case 0x0E44:
case 0x0E45:
case 0x0E46:
case 0x0E47:
case 0x0E48:
case 0x0E49:
case 0x0E4A:
case 0x0E4B:
case 0x0E4C:
case 0x0E4D:
case 0x0E4E:
case 0x0E4F:
case 0x0E50:
case 0x0E51:
case 0x0E52:
case 0x0E53:
case 0x0E54:
case 0x0E55:
case 0x0E56:
case 0x0E57:
case 0x0E58:
case 0x0E59:
case 0x0E5A:
case 0x0E5B:
ch -= 0x0D60;
break;
default:
{
if(ch >= 0xFF01 && ch <= 0xFF5E)
{
ch -= 0xFEE0;
}
else
{
ch = 0x3F;
}
}
break;
}
bytes[byteIndex++] = (byte)ch;
--charCount;
}
}
*/
}; // class CP874
[Serializable]