Merge pull request #2704 from YunHsiao/master

Fix per-set argument parsing in standalone
This commit is contained in:
Greg Fischer 2021-07-27 15:03:35 -06:00 committed by GitHub
commit 1978c7692f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -347,13 +347,13 @@ void ProcessBindingBase(int& argc, char**& argv, glslang::TResourceType res)
lang = FindLanguage(argv[arg++], false); lang = FindLanguage(argv[arg++], false);
} }
if ((argc - arg) > 2 && isdigit(argv[arg+0][0]) && isdigit(argv[arg+1][0])) { if ((argc - arg) >= 2 && isdigit(argv[arg+0][0]) && isdigit(argv[arg+1][0])) {
// Parse a per-set binding base // Parse a per-set binding base
while ((argc - arg) > 2 && isdigit(argv[arg+0][0]) && isdigit(argv[arg+1][0])) { do {
const int baseNum = atoi(argv[arg++]); const int baseNum = atoi(argv[arg++]);
const int setNum = atoi(argv[arg++]); const int setNum = atoi(argv[arg++]);
perSetBase[setNum] = baseNum; perSetBase[setNum] = baseNum;
} } while ((argc - arg) >= 2 && isdigit(argv[arg + 0][0]) && isdigit(argv[arg + 1][0]));
} else { } else {
// Parse single binding base // Parse single binding base
singleBase = atoi(argv[arg++]); singleBase = atoi(argv[arg++]);