| 5292 | } |
| 5293 | |
| 5294 | const CommandTasks* Settings::CmdTaskGetByName(LPCWSTR asTaskName) |
| 5295 | { |
| 5296 | if (!asTaskName || !*asTaskName) |
| 5297 | return nullptr; |
| 5298 | |
| 5299 | const CommandTasks* pGrp = nullptr; |
| 5300 | |
| 5301 | wchar_t szName[MAX_PATH]; lstrcpyn(szName, asTaskName, countof(szName)); |
| 5302 | wchar_t* psz = wcschr(szName, TaskBracketRight); |
| 5303 | if (psz) psz[1] = 0; |
| 5304 | |
| 5305 | if (lstrcmp(szName, AutoStartTaskName) == 0) |
| 5306 | { |
| 5307 | pGrp = CmdTaskGet(-1); |
| 5308 | } |
| 5309 | else |
| 5310 | { |
| 5311 | // Validate if it is a Task |
| 5312 | _ASSERTE(szName[0] == TaskBracketLeft && szName[wcslen(szName)-1] == TaskBracketRight); |
| 5313 | |
| 5314 | for (int i = 0; (pGrp = CmdTaskGet(i)) != nullptr; i++) |
| 5315 | { |
| 5316 | if (pGrp->pszName && (lstrcmpi(pGrp->pszName, szName) == 0)) |
| 5317 | { |
| 5318 | break; |
| 5319 | } |
| 5320 | } |
| 5321 | |
| 5322 | // May be task was requested without subfolder or subfolder was stripped from task? |
| 5323 | if (!pGrp) |
| 5324 | { |
| 5325 | LPCWSTR pszCmpName = wcsstr(szName, L"::"); |
| 5326 | |
| 5327 | if (!pszCmpName) |
| 5328 | pszCmpName = szName + 1; // Skip "{" |
| 5329 | else |
| 5330 | pszCmpName += 2; // Skip "::" |
| 5331 | |
| 5332 | for (int i = 0; (pGrp = CmdTaskGet(i)) != nullptr; i++) |
| 5333 | { |
| 5334 | if (!pGrp->pszName) |
| 5335 | continue; |
| 5336 | |
| 5337 | // Compare only task name, stripping "{Folder::" |
| 5338 | LPCWSTR pszTaskName = wcsstr(pGrp->pszName, L"::"); |
| 5339 | if (!pszTaskName) |
| 5340 | pszTaskName = pGrp->pszName + 1; // Skip "{" |
| 5341 | else |
| 5342 | pszTaskName += 2; // Skip "::" |
| 5343 | |
| 5344 | if (lstrcmpi(pszTaskName, pszCmpName) == 0) |
| 5345 | { |
| 5346 | break; |
| 5347 | } |
| 5348 | } |
| 5349 | } |
| 5350 | } |
| 5351 |
no outgoing calls
no test coverage detected