fixed: parse "" as parameter, SetParameter(foo,"") was being ignored. thx jmarshall
authoramet <amet.nospam@gmail.com>
Wed, 6 Apr 2011 08:09:40 +0000 (12:09 +0400)
committeramet <amet.nospam@gmail.com>
Wed, 6 Apr 2011 08:13:22 +0000 (12:13 +0400)
xbmc/Util.cpp

index 5fe2229..fc81dc2 100644 (file)
@@ -1296,6 +1296,9 @@ bool CUtil::TestSplitExec()
   CUtil::SplitExecFunction("ActivateWindow(Video, \"C:\\\\\\\\test\\\\\\foo\\\\\")", function, params);
   if (function != "ActivateWindow" || params.size() != 2 || params[0] != "Video" || params[1] != "C:\\\\test\\\\foo\\")
     return false;
+  CUtil::SplitExecFunction("SetProperty(Foo,\"\")", function, params);
+  if (function != "SetProperty" || params.size() != 2 || params[0] != "Foo" || params[1] != "")
+   return false;
   return true;
 }
 #endif
@@ -1385,7 +1388,7 @@ void CUtil::SplitExecFunction(const CStdString &execString, CStdString &function
     CLog::Log(LOGWARNING, "%s(%s) - end of string while searching for ) or \"", __FUNCTION__, execString.c_str());
   if (whiteSpacePos)
     parameter = parameter.Left(whiteSpacePos);
-  if (!parameter.IsEmpty())
+  if (!parameter.IsEmpty() || parameters.size())
     parameters.push_back(parameter);
 }