]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
put back the changes that make >2GB work (fix signedness)
authordivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Fri, 4 Mar 2011 23:36:34 +0000 (23:36 +0000)
committerdivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Fri, 4 Mar 2011 23:36:34 +0000 (23:36 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10891 d7cf8633-e32d-0410-b094-e92efae38249

fs.c

diff --git a/fs.c b/fs.c
index e18216eb20c0a7bab6e29df4fb30bb0a1feaabe6..8d505e8b3604ce2664d668054b553926a05150c6 100644 (file)
--- a/fs.c
+++ b/fs.c
@@ -636,9 +636,9 @@ int PK3_BuildFileList (pack_t *pack, const pk3_endOfCentralDir_t *eocd)
                                        flags = PACKFILE_FLAG_DEFLATED;
                                else
                                        flags = 0;
-                               offset = BuffLittleLong (&ptr[42]) + eocd->prepended_garbage;
-                               packsize = BuffLittleLong (&ptr[20]);
-                               realsize = BuffLittleLong (&ptr[24]);
+                               offset = (unsigned int)(BuffLittleLong (&ptr[42]) + eocd->prepended_garbage);
+                               packsize = (unsigned int)BuffLittleLong (&ptr[20]);
+                               realsize = (unsigned int)BuffLittleLong (&ptr[24]);
 
                                switch(ptr[5]) // C_VERSION_MADE_BY_1
                                {
@@ -965,8 +965,8 @@ pack_t *FS_LoadPackPAK (const char *packfile)
        // parse the directory
        for (i = 0;i < numpackfiles;i++)
        {
-               fs_offset_t offset = LittleLong (info[i].filepos);
-               fs_offset_t size = LittleLong (info[i].filelen);
+               fs_offset_t offset = (unsigned int)LittleLong (info[i].filepos);
+               fs_offset_t size = (unsigned int)LittleLong (info[i].filelen);
 
                FS_AddFileToPack (info[i].name, pack, offset, size, size, PACKFILE_FLAG_TRUEOFFS);
        }
@@ -2026,8 +2026,8 @@ qfile_t *FS_OpenPackedFile (pack_t* pack, int pack_ind)
        // the dup() call to avoid having to close the dup_handle on error here
        if (lseek (pack->handle, pfile->offset, SEEK_SET) == -1)
        {
-               Con_Printf ("FS_OpenPackedFile: can't lseek to %s in %s (offset: %d)\n",
-                                       pfile->name, pack->filename, (int) pfile->offset);
+               Con_Printf ("FS_OpenPackedFile: can't lseek to %s in %s (offset: %08x%08x)\n",
+                                       pfile->name, pack->filename, (unsigned int)(pfile->offset >> 32), (unsigned int)(pfile->offset));
                return NULL;
        }