| 684 | COMMAND(zipmodgetfiles, "s"); |
| 685 | |
| 686 | void zipmodgetrevision(char *name) // open zip, read list of files |
| 687 | { |
| 688 | const char *pname = fixzipname(name); |
| 689 | stream *f = pname ? openfile(pname, "rb") : NULL; |
| 690 | vector<const char *> files; |
| 691 | int res = 0, modrevlen = (int)strlen(modrev); |
| 692 | void *mz = zipmanualopen(f, files); |
| 693 | if(!f || !mz) conoutf("failed to read/open zip file %s", pname); |
| 694 | else |
| 695 | { |
| 696 | loopv(files) if(!strncasecmp(files[i], modrev, modrevlen)) res = atoi(files[i] + modrevlen); |
| 697 | zipmanualclose(mz); |
| 698 | } |
| 699 | intret(res); |
| 700 | } |
| 701 | COMMAND(zipmodgetrevision, "s"); |
| 702 | |
| 703 | void writezipmodconfig(stream *f) |
nothing calls this directly
no test coverage detected