From: Seongjun Yim Date: Tue, 3 Sep 2013 11:28:10 +0000 (+0900) Subject: fix bug for Accept-Language header X-Git-Tag: submit/tizen_2.2/20131107.062229~39 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=edfada4808f9d47440a28a8047dd3924fa2fbff6;p=framework%2Fosp%2Fweb.git fix bug for Accept-Language header Change-Id: Ie6288120f9a90a5c11f3d09d698b0905c6db33a3 Signed-off-by: Seongjun Yim --- diff --git a/src/controls/FWebCtrl_EflWebkit.cpp b/src/controls/FWebCtrl_EflWebkit.cpp index e4d3e46..a5755b6 100755 --- a/src/controls/FWebCtrl_EflWebkit.cpp +++ b/src/controls/FWebCtrl_EflWebkit.cpp @@ -296,33 +296,28 @@ _EflWebkit::SetProxyAddress(char* pProxy) const void _EflWebkit::InitializeCustomHeader(void) const { - std::unique_ptr pLang(vconf_get_str(VCONFKEY_LANGSET)); - std::unique_ptr 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 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); }