Parse and handle arguments for -save_vlr or -load_vlr, based on specified vlr index or user ID and record ID and optional output filename
| 504 | |
| 505 | /// Parse and handle arguments for -save_vlr or -load_vlr, based on specified vlr index or user ID and record ID and optional output filename |
| 506 | static void parse_save_load_vlr_args(int& i, int argc, char* argv[], bool& save_vlr, int& vlr_index, char*& vlr_user_id, int& vlr_record_id, char*& vlr_filename) { |
| 507 | if (i + 1 >= argc) { |
| 508 | vlr_index = 0; // Default value if no arguments are provided |
| 509 | } |
| 510 | // Check for user ID and record ID |
| 511 | else if (i + 2 < argc && argv[i + 1][0] != '-' && isalnum(argv[i + 1][0]) && argv[i + 2][0] != '-' && isdigit(argv[i + 2][0])) { |
| 512 | vlr_user_id = argv[++i]; |
| 513 | vlr_record_id = atoi(argv[++i]); |
| 514 | // Optional output filename |
| 515 | if (i + 1 < argc && argv[i + 1][0] != '-') { |
| 516 | vlr_filename = argv[++i]; |
| 517 | } |
| 518 | } |
| 519 | // Check for numeric index |
| 520 | else if (i + 1 < argc && argv[i + 1][0] != '-' && isdigit(argv[i + 1][0])) { |
| 521 | vlr_index = atoi(argv[++i]); |
| 522 | // Optional output filename |
| 523 | if (i + 1 < argc && argv[i + 1][0] != '-') { |
| 524 | vlr_filename = argv[++i]; |
| 525 | } |
| 526 | } |
| 527 | //Only filename arguments is provided |
| 528 | else if (i + 1 < argc && argv[i + 1][0] != '-') { |
| 529 | vlr_index = 0; // Default value if just filename arguments is provided |
| 530 | vlr_filename = argv[++i]; |
| 531 | } |
| 532 | } |
| 533 | |
| 534 | // for point type conversions |
| 535 | const U8 convert_point_type_from_to[11][11] = |