Revert "Fix else-after-returns throughout pdfium."
[pdfium.git] / core / src / fpdftext / unicodenormalization.cpp
index b92787b..468900c 100644 (file)
@@ -1,75 +1,76 @@
-// Copyright 2014 PDFium Authors. All rights reserved.\r
-// Use of this source code is governed by a BSD-style license that can be\r
-// found in the LICENSE file.\r
\r
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
-\r
-#include "../../include/fpdftext/fpdf_text.h"\r
-extern const FX_WCHAR g_UnicodeData_Normalization[65536];\r
-extern const FX_WCHAR g_UnicodeData_Normalization_Map1[5376];\r
-extern const FX_WCHAR g_UnicodeData_Normalization_Map2[1734];\r
-extern const FX_WCHAR g_UnicodeData_Normalization_Map3[1164];\r
-extern const FX_WCHAR g_UnicodeData_Normalization_Map4[488];\r
-FX_LPCWSTR g_UnicodeData_Normalization_Maps[5] = {\r
-    NULL,\r
-    g_UnicodeData_Normalization_Map1,\r
-    g_UnicodeData_Normalization_Map2,\r
-    g_UnicodeData_Normalization_Map3,\r
-    g_UnicodeData_Normalization_Map4\r
-};\r
-FX_STRSIZE FX_Unicode_GetNormalization(FX_WCHAR wch, FX_LPWSTR pDst)\r
-{\r
-    wch = wch & 0xFFFF;\r
-    FX_WCHAR wFind = g_UnicodeData_Normalization[wch];\r
-    if (!wFind) {\r
-        if (pDst) {\r
-            *pDst = wch;\r
-        }\r
-        return 1;\r
-    }\r
-    if(wFind >= 0x8000) {\r
-        wch = wFind - 0x8000;\r
-        wFind = 1;\r
-    } else {\r
-        wch = wFind & 0x0FFF;\r
-        wFind >>= 12;\r
-    }\r
-    FX_LPCWSTR pMap = g_UnicodeData_Normalization_Maps[wFind];\r
-    if (pMap == g_UnicodeData_Normalization_Map4) {\r
-        pMap = g_UnicodeData_Normalization_Map4 + wch;\r
-        wFind = (FX_WCHAR)(*pMap ++);\r
-    } else {\r
-        pMap += wch;\r
-    }\r
-    if (pDst) {\r
-        FX_WCHAR n = wFind;\r
-        while (n --) {\r
-            *pDst ++ = *pMap ++;\r
-        }\r
-    }\r
-    return (FX_STRSIZE)wFind;\r
-}\r
-FX_STRSIZE FX_WideString_GetNormalization(FX_WSTR wsSrc, FX_LPWSTR pDst)\r
-{\r
-    FX_STRSIZE nCount = 0;\r
-    for (FX_STRSIZE len = 0; len < wsSrc.GetLength(); len ++) {\r
-        FX_WCHAR wch = wsSrc.GetAt(len);\r
-        if(pDst) {\r
-            nCount += FX_Unicode_GetNormalization(wch, pDst + nCount);\r
-        } else {\r
-            nCount += FX_Unicode_GetNormalization(wch, pDst);\r
-        }\r
-    }\r
-    return nCount;\r
-}\r
-FX_STRSIZE FX_WideString_GetNormalization(FX_WSTR wsSrc, CFX_WideString &wsDst)\r
-{\r
-    FX_STRSIZE nLen = FX_WideString_GetNormalization(wsSrc, (FX_LPWSTR)NULL);\r
-    if (!nLen) {\r
-        return 0;\r
-    }\r
-    FX_LPWSTR pBuf = wsDst.GetBuffer(nLen);\r
-    FX_WideString_GetNormalization(wsSrc, pBuf);\r
-    wsDst.ReleaseBuffer(nLen);\r
-    return nLen;\r
-}\r
+// Copyright 2014 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#include "../../include/fxcrt/fx_string.h"
+
+extern const FX_WCHAR g_UnicodeData_Normalization[];
+extern const FX_WCHAR g_UnicodeData_Normalization_Map1[];
+extern const FX_WCHAR g_UnicodeData_Normalization_Map2[];
+extern const FX_WCHAR g_UnicodeData_Normalization_Map3[];
+extern const FX_WCHAR g_UnicodeData_Normalization_Map4[];
+const FX_WCHAR* g_UnicodeData_Normalization_Maps[5] = {
+    NULL,
+    g_UnicodeData_Normalization_Map1,
+    g_UnicodeData_Normalization_Map2,
+    g_UnicodeData_Normalization_Map3,
+    g_UnicodeData_Normalization_Map4
+};
+FX_STRSIZE FX_Unicode_GetNormalization(FX_WCHAR wch, FX_WCHAR* pDst)
+{
+    wch = wch & 0xFFFF;
+    FX_WCHAR wFind = g_UnicodeData_Normalization[wch];
+    if (!wFind) {
+        if (pDst) {
+            *pDst = wch;
+        }
+        return 1;
+    }
+    if(wFind >= 0x8000) {
+        wch = wFind - 0x8000;
+        wFind = 1;
+    } else {
+        wch = wFind & 0x0FFF;
+        wFind >>= 12;
+    }
+    const FX_WCHAR* pMap = g_UnicodeData_Normalization_Maps[wFind];
+    if (pMap == g_UnicodeData_Normalization_Map4) {
+        pMap = g_UnicodeData_Normalization_Map4 + wch;
+        wFind = (FX_WCHAR)(*pMap ++);
+    } else {
+        pMap += wch;
+    }
+    if (pDst) {
+        FX_WCHAR n = wFind;
+        while (n --) {
+            *pDst ++ = *pMap ++;
+        }
+    }
+    return (FX_STRSIZE)wFind;
+}
+FX_STRSIZE FX_WideString_GetNormalization(const CFX_WideStringC& wsSrc, FX_WCHAR* pDst)
+{
+    FX_STRSIZE nCount = 0;
+    for (FX_STRSIZE len = 0; len < wsSrc.GetLength(); len ++) {
+        FX_WCHAR wch = wsSrc.GetAt(len);
+        if(pDst) {
+            nCount += FX_Unicode_GetNormalization(wch, pDst + nCount);
+        } else {
+            nCount += FX_Unicode_GetNormalization(wch, pDst);
+        }
+    }
+    return nCount;
+}
+FX_STRSIZE FX_WideString_GetNormalization(const CFX_WideStringC& wsSrc, CFX_WideString &wsDst)
+{
+    FX_STRSIZE nLen = FX_WideString_GetNormalization(wsSrc, (FX_WCHAR*)NULL);
+    if (!nLen) {
+        return 0;
+    }
+    FX_WCHAR* pBuf = wsDst.GetBuffer(nLen);
+    FX_WideString_GetNormalization(wsSrc, pBuf);
+    wsDst.ReleaseBuffer(nLen);
+    return nLen;
+}