From 8f4bb25ff1b250cdc67eb8b7b95a874a12008b98 Mon Sep 17 00:00:00 2001 From: Adam Banasiak Date: Tue, 10 Sep 2013 12:05:00 +0200 Subject: [PATCH] Add routine to check valid locale [Issue#] LINUXWRT-358 [Problem] Missing logic to validate the default locale in widget parser [Cause] N/A [Solution] Add default locale validation to widget parser Change-Id: Ib8183f0ce9454676415154cd868d2d078012acae --- src/configuration_parser/widget_parser.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/configuration_parser/widget_parser.cpp b/src/configuration_parser/widget_parser.cpp index f4135b8..7c0b624 100644 --- a/src/configuration_parser/widget_parser.cpp +++ b/src/configuration_parser/widget_parser.cpp @@ -31,7 +31,8 @@ #include "libiriwrapper.h" #include #include -//#include +#include +#include "wrt-commons/i18n-dao-ro/i18n_dao_read_only.h" #include #include @@ -2913,8 +2914,12 @@ void WidgetParser::Accept(const XmlAttribute& attribute) if (!m_defaultlocale) { m_defaultlocale = attribute.value; NormalizeString(m_defaultlocale); - /* TODO : should check valid defaultlocale */ - LogDebug("Default Locale Found " << m_defaultlocale); + if( I18n::DB::I18nDAOReadOnly::IsValidSubTag + (attribute.value, RECORD_TYPE_LANGUAGE)) { + LogDebug("Default Locale Found " << m_defaultlocale); + } else { + LogWarning("Default Locate Is Invalid"); + } } else { LogWarning("Ignoring subsequent default locale"); } -- 2.7.4