summaryrefslogtreecommitdiff
path: root/src/shared/zip.cpp
diff options
context:
space:
mode:
authorxolatile2025-07-19 16:01:38 +0200
committerxolatile2025-07-19 16:01:38 +0200
commite9ad09c58820b31743251f793f30e5d4d49a0dca (patch)
treef3e3afdf61301d6489f6777f03628e0ffe6c9b0f /src/shared/zip.cpp
parentc79dda69d6e603500a5681430172b5152041af0a (diff)
downloadxolatile-badassbug-e9ad09c58820b31743251f793f30e5d4d49a0dca.tar.xz
xolatile-badassbug-e9ad09c58820b31743251f793f30e5d4d49a0dca.tar.zst
Rough changes...
Diffstat (limited to 'src/shared/zip.cpp')
-rw-r--r--src/shared/zip.cpp54
1 files changed, 27 insertions, 27 deletions
diff --git a/src/shared/zip.cpp b/src/shared/zip.cpp
index c35fa87..40a3e9c 100644
--- a/src/shared/zip.cpp
+++ b/src/shared/zip.cpp
@@ -22,7 +22,7 @@ struct zipfileheader
{
uint signature;
ushort version, needversion, flags, compression, modtime, moddate;
- uint crc32, compressedsize, uncompressedsize;
+ uint crc32, compressedsize, uncompressedsize;
ushort namelength, extralength, commentlength, disknumber, internalattribs;
uint externalattribs, offset;
};
@@ -43,9 +43,9 @@ struct zipfile
zipfile() : name(NULL), header(0), offset(~0U), size(0), compressedsize(0)
{
}
- ~zipfile()
- {
- DELETEA(name);
+ ~zipfile()
+ {
+ DELETEA(name);
}
};
@@ -89,9 +89,9 @@ static bool findzipdirectory(FILE *f, zipdirectoryheader &hdr)
if(next + carry < ZIP_DIRECTORY_SIZE || fseek(f, offset, SEEK_SET) < 0 || fread(buf, 1, next, f) != next) return false;
len = next + carry;
uchar *search = &buf[next-1];
- for(; search >= buf; search--) if(*(uint *)search == signature) break;
+ for(; search >= buf; search--) if(*(uint *)search == signature) break;
if(search >= buf) { src = search; break; }
- }
+ }
if(!src || &buf[len] - src < ZIP_DIRECTORY_SIZE) return false;
@@ -153,7 +153,7 @@ static bool readzipdirectory(const char *archname, FILE *f, int entries, int off
pname[namelen] = '\0';
path(pname);
char *name = newstring(pname);
-
+
zipfile &f = files.add();
f.name = name;
f.header = hdr.offset;
@@ -220,7 +220,7 @@ static void mountzip(ziparchive &arch, vector<zipfile> &files, const char *mount
const char *foundpackages = strstr(f.name, packagesdir);
if(foundpackages)
{
- if(foundpackages > f.name)
+ if(foundpackages > f.name)
{
stripdir = f.name;
striplen = foundpackages - f.name;
@@ -239,10 +239,10 @@ static void mountzip(ziparchive &arch, vector<zipfile> &files, const char *mount
stripdir = f.name;
striplen = ogzdir + 1 - f.name;
}
- if(!mountdir) mountdir = "packages/base/";
+ if(!mountdir) mountdir = "packages/maps/";
break;
}
- }
+ }
}
string mdir = "", fname;
if(mountdir)
@@ -271,14 +271,14 @@ bool addzip(const char *name, const char *mount = NULL, const char *strip = NULL
if(plen < 4 || !strchr(&pname[plen-4], '.')) concatstring(pname, ".zip");
ziparchive *exists = findzip(pname);
- if(exists)
+ if(exists)
{
conoutf(CON_ERROR, "already added zip %s", pname);
return true;
}
-
+
FILE *f = fopen(findfile(pname, "rb"), "rb");
- if(!f)
+ if(!f)
{
conoutf(CON_ERROR, "could not open file %s", pname);
return false;
@@ -291,7 +291,7 @@ bool addzip(const char *name, const char *mount = NULL, const char *strip = NULL
fclose(f);
return false;
}
-
+
ziparchive *arch = new ziparchive;
arch->name = newstring(pname);
arch->data = f;
@@ -300,8 +300,8 @@ bool addzip(const char *name, const char *mount = NULL, const char *strip = NULL
conoutf("added zip %s", pname);
return true;
-}
-
+}
+
bool removezip(const char *name)
{
string pname;
@@ -321,7 +321,7 @@ bool removezip(const char *name)
return false;
}
conoutf("removed zip %s", exists->name);
- archives.removeobj(exists);
+ archives.removeobj(exists);
delete exists;
return true;
}
@@ -419,11 +419,11 @@ struct zipstream : stream
{
switch(whence)
{
- case SEEK_END: pos += info->offset + info->size; break;
+ case SEEK_END: pos += info->offset + info->size; break;
case SEEK_CUR: pos += reading; break;
case SEEK_SET: pos += info->offset; break;
default: return false;
- }
+ }
pos = clamp(pos, offset(info->offset), offset(info->offset + info->size));
arch->owner = NULL;
if(fseek(arch->data, int(pos), SEEK_SET) < 0) return false;
@@ -432,10 +432,10 @@ struct zipstream : stream
ended = false;
return true;
}
-
+
switch(whence)
{
- case SEEK_END: pos += info->size; break;
+ case SEEK_END: pos += info->size; break;
case SEEK_CUR: pos += zfile.total_out; break;
case SEEK_SET: break;
default: return false;
@@ -446,7 +446,7 @@ struct zipstream : stream
reading = info->offset + info->compressedsize;
zfile.next_in += zfile.avail_in;
zfile.avail_in = 0;
- zfile.total_in = info->compressedsize;
+ zfile.total_in = info->compressedsize;
zfile.total_out = info->size;
arch->owner = NULL;
ended = false;
@@ -455,7 +455,7 @@ struct zipstream : stream
if(pos < 0) return false;
if(pos >= (offset)zfile.total_out) pos -= zfile.total_out;
- else
+ else
{
if(zfile.next_in && zfile.total_in <= uint(zfile.next_in - buf))
{
@@ -495,7 +495,7 @@ struct zipstream : stream
if(fseek(arch->data, reading, SEEK_SET) < 0) { stopreading(); return 0; }
arch->owner = this;
}
-
+
size_t n = fread(buf, 1, min(len, size_t(info->size + info->offset - reading)), arch->data);
reading += n;
if(n < len) ended = true;
@@ -508,7 +508,7 @@ struct zipstream : stream
{
if(!zfile.avail_in) readbuf(BUFSIZE);
int err = inflate(&zfile, Z_NO_FLUSH);
- if(err != Z_OK)
+ if(err != Z_OK)
{
if(err == Z_STREAM_END) ended = true;
else
@@ -516,9 +516,9 @@ struct zipstream : stream
#ifndef STANDALONE
if(dbgzip) conoutf(CON_DEBUG, "inflate error: %s", zError(err));
#endif
- stopreading();
+ stopreading();
}
- break;
+ break;
}
}
return len - zfile.avail_out;