Sparkleholic commited on
Commit
6a4b6ae
·
1 Parent(s): 6d07dee

vulkan: Fix a vulkan-shaders-gen arugment parsing error (llama/10484)

Browse files

The vulkan-shaders-gen was not parsing the --no-clean argument correctly.
Because the previous code was parsing the arguments which have a value only
and the --no-clean argument does not have a value, it was not being parsed
correctly. This commit can now correctly parse arguments that don't have values.

ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp CHANGED
@@ -474,9 +474,15 @@ void write_output_files() {
474
 
475
  int main(int argc, char** argv) {
476
  std::map<std::string, std::string> args;
477
- for (int i = 1; i < argc; i += 2) {
478
- if (i + 1 < argc) {
479
- args[argv[i]] = argv[i + 1];
 
 
 
 
 
 
480
  }
481
  }
482
 
 
474
 
475
  int main(int argc, char** argv) {
476
  std::map<std::string, std::string> args;
477
+ for (int i = 1; i < argc; ++i) {
478
+ std::string arg = argv[i];
479
+ if (arg.rfind("--", 0) == 0) {
480
+ if (i + 1 < argc && argv[i + 1][0] != '-') {
481
+ args[arg] = argv[i + 1];
482
+ ++i;
483
+ } else {
484
+ args[arg] = "";
485
+ }
486
  }
487
  }
488