re-generated codepages with new ucm2cp.c: removed dotnet 1.0 support for cleaner...
[mono.git] / mcs / class / I18N / Other / CP28595.cs
index 70fa345de253c1687e75c6ad067eb27686264d8e..a959f860e2106ffa5ae6e4556b55a302e69ce31f 100644 (file)
@@ -138,15 +138,16 @@ public class CP28595 : ByteEncoding
                                                 byte* bytes, int byteCount)
        {
                int ch;
-               int charIndex;
+               int charIndex = 0;
                int byteIndex = 0;
 #if NET_2_0
                EncoderFallbackBuffer buffer = null;
 #endif
-               for (charIndex=0; charCount > 0; charIndex++, charCount--)
+               while (charCount > 0)
                {
                        ch = (int)(chars[charIndex]);
-                       bool fallback = false;
+                       charIndex++;
+                       charCount--;
                        if(ch >= 161) switch(ch)
                        {
                                case 0x00AD:
@@ -259,29 +260,17 @@ public class CP28595 : ByteEncoding
                                        }
                                        else
                                        {
-#if NET_2_0
-                                               //Execute fallback routine and set fallback flag on
                                                HandleFallback (ref buffer, chars, ref charIndex, ref charCount, bytes, ref byteIndex, ref byteCount);
-                                               fallback = true;
-#else
-                                               ch = 0x3F;
-#endif
+                                               continue;
                                        }
                                }
                                break;
                        }
                        //Write encoded byte to buffer, if buffer is defined and fallback was not used
-                       if (bytes != null && !fallback)
-                       {
+                       if (bytes != null)
                                bytes[byteIndex] = (byte)ch;
-                       }
-                       
-                       //Bump counters if fallback was not used
-                       if (!fallback)
-                       {
-                               byteIndex++;
-                               byteCount--;
-                       }
+                       byteIndex++;
+                       byteCount--;
                }
                return byteIndex;
        }