| 884 | loopvrev(files) if(files.inrange(i + 1) && !strcmp(files[i], files[i + 1])) delstring(files.remove(i + 1)); // remove doubles |
| 885 | int pn = strlen("packages/textures/"); |
| 886 | loopvrev(files) |
| 887 | { |
| 888 | bool filtered = filter.length() == 0, excluded = false, extmatch = false; |
| 889 | if(!strncmp(files[i], "packages/textures/", pn)) |
| 890 | { |
| 891 | const char *s = files[i] + pn; |
| 892 | loopvj(filter) if(!strncmp(s, filter[j], filter_n[j])) filtered = true; |
| 893 | loopvj(exclude) if(!strncmp(s, exclude[j], exclude_n[j])) excluded = true; |
| 894 | int n = strlen(s); |
| 895 | loopvj(exts) if(n > exts_n[j] && !strcmp(s + n - exts_n[j], exts[j])) extmatch = true; |
| 896 | } |
| 897 | if(!extmatch || !filtered || excluded) delstring(files.remove(i)); |
| 898 | } |
| 899 | vector<char> res; |
| 900 | bool cutprefix = filter.length() == 1; |
| 901 | bool cutext = exts.length() == 1 && exts[0][0] != '.'; |
no test coverage detected