fix bug for Accept-Language header
authorSeongjun Yim <se201.yim@samsung.com>
Tue, 3 Sep 2013 11:28:10 +0000 (20:28 +0900)
committerSeongjun Yim <se201.yim@samsung.com>
Tue, 3 Sep 2013 11:28:10 +0000 (20:28 +0900)
Change-Id: Ie6288120f9a90a5c11f3d09d698b0905c6db33a3
Signed-off-by: Seongjun Yim <se201.yim@samsung.com>
src/controls/FWebCtrl_EflWebkit.cpp

index e4d3e46..a5755b6 100755 (executable)
@@ -296,33 +296,28 @@ _EflWebkit::SetProxyAddress(char* pProxy) const
 void
 _EflWebkit::InitializeCustomHeader(void) const
 {
-       std::unique_ptr<char[]> pLang(vconf_get_str(VCONFKEY_LANGSET));
-       std::unique_ptr<char[]> pRegion(vconf_get_str(VCONFKEY_LANGSET));
+       char pAcceptLang[6] = {0, };
+       char* pLangSet = vconf_get_str(VCONFKEY_LANGSET);
        const char name[] = "Accept-Language";
-       String value(L"");
 
-       if (pLang.get())
+       if (pLangSet && strlen(pLangSet))
        {
-               if (pRegion.get())
-               {
-                       value.Append(pLang.get());
-                       value.Append(L"_");
-                       value.Append(pRegion.get());
-               }
-               else
+               strncpy(pAcceptLang, pLangSet, 2);
+
+               char *pRawData = strchr(pLangSet, '_');
+               if (pRawData && strlen(pLangSet) >= 5)
                {
-                       value.Append(pLang.get());
+                       strcat(pAcceptLang, "-");
+                       strncat(pAcceptLang, pRawData + 1, 2);
                }
        }
        else
        {
-               value = L"en";
+               strcat(pAcceptLang, "en");
        }
+       free(pLangSet);
 
-       std::unique_ptr<char[]> pValue(_StringConverter::CopyToCharArrayN(value));
-       SysTryReturnVoidResult(NID_WEB_CTRL, pValue.get(), E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
-
-       ewk_view_custom_header_add(__pWebFrame, name, pValue.get());
+       ewk_view_custom_header_add(__pWebFrame, name, pAcceptLang);
 }