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);
}