diff --git a/src/archiver_grp.c b/src/archiver_grp.c index 36838ab..b4bb8d3 100644 --- a/src/archiver_grp.c +++ b/src/archiver_grp.c @@ -24,11 +24,11 @@ * This file written by Ryan C. Gordon. */ -#if (defined PHYSFS_SUPPORTS_GRP) - #define __PHYSICSFS_INTERNAL__ #include "physfs_internal.h" +#if PHYSFS_SUPPORTS_GRP + static UNPKentry *grpLoadEntries(PHYSFS_Io *io, PHYSFS_uint32 fileCount) { PHYSFS_uint32 location = 16; /* sizeof sig. */ diff --git a/src/archiver_hog.c b/src/archiver_hog.c index 9441cea..d82f5c0 100644 --- a/src/archiver_hog.c +++ b/src/archiver_hog.c @@ -29,11 +29,11 @@ * Based on grp.c by Ryan C. Gordon. */ -#if (defined PHYSFS_SUPPORTS_HOG) - #define __PHYSICSFS_INTERNAL__ #include "physfs_internal.h" +#if PHYSFS_SUPPORTS_HOG + static UNPKentry *hogLoadEntries(PHYSFS_Io *io, PHYSFS_uint32 *_entCount) { const PHYSFS_uint64 iolen = io->length(io); diff --git a/src/archiver_iso9660.c b/src/archiver_iso9660.c index d1e427a..6fe134b 100644 --- a/src/archiver_iso9660.c +++ b/src/archiver_iso9660.c @@ -24,11 +24,11 @@ * - Ambiguities in the standard */ -#if (defined PHYSFS_SUPPORTS_ISO9660) - #define __PHYSICSFS_INTERNAL__ #include "physfs_internal.h" +#if PHYSFS_SUPPORTS_ISO9660 + #include /* cache files smaller than this completely in memory */ diff --git a/src/archiver_lzma.c b/src/archiver_lzma.c index 068177b..bff7156 100644 --- a/src/archiver_lzma.c +++ b/src/archiver_lzma.c @@ -7,11 +7,11 @@ * by Igor Pavlov. */ -#if (defined PHYSFS_SUPPORTS_7Z) - #define __PHYSICSFS_INTERNAL__ #include "physfs_internal.h" +#if PHYSFS_SUPPORTS_7Z + #include "lzma/C/7zCrc.h" #include "lzma/C/Archive/7z/7zIn.h" #include "lzma/C/Archive/7z/7zExtract.h" diff --git a/src/archiver_mvl.c b/src/archiver_mvl.c index 2035218..c68e112 100644 --- a/src/archiver_mvl.c +++ b/src/archiver_mvl.c @@ -27,11 +27,11 @@ * Based on grp.c by Ryan C. Gordon. */ -#if (defined PHYSFS_SUPPORTS_MVL) - #define __PHYSICSFS_INTERNAL__ #include "physfs_internal.h" +#if PHYSFS_SUPPORTS_MVL + static UNPKentry *mvlLoadEntries(PHYSFS_Io *io, PHYSFS_uint32 fileCount) { PHYSFS_uint32 location = 8; /* sizeof sig. */ diff --git a/src/archiver_qpak.c b/src/archiver_qpak.c index fdcf850..b1eb1ca 100644 --- a/src/archiver_qpak.c +++ b/src/archiver_qpak.c @@ -29,11 +29,11 @@ * This file written by Ryan C. Gordon. */ -#if (defined PHYSFS_SUPPORTS_QPAK) - #define __PHYSICSFS_INTERNAL__ #include "physfs_internal.h" +#if PHYSFS_SUPPORTS_QPAK + /* !!! FIXME: what is this here for? */ #if 1 /* Make this case insensitive? */ #define QPAK_strcmp(x, y) __PHYSFS_stricmpASCII(x, y) diff --git a/src/archiver_wad.c b/src/archiver_wad.c index 9951739..8266a22 100644 --- a/src/archiver_wad.c +++ b/src/archiver_wad.c @@ -42,11 +42,11 @@ * Ryan C. Gordon. */ -#if (defined PHYSFS_SUPPORTS_WAD) - #define __PHYSICSFS_INTERNAL__ #include "physfs_internal.h" +#if PHYSFS_SUPPORTS_WAD + static UNPKentry *wadLoadEntries(PHYSFS_Io *io, PHYSFS_uint32 fileCount) { PHYSFS_uint32 directoryOffset; diff --git a/src/archiver_zip.c b/src/archiver_zip.c index 5dceafa..1992e79 100644 --- a/src/archiver_zip.c +++ b/src/archiver_zip.c @@ -7,14 +7,14 @@ * by Gilles Vollant. */ -#if (defined PHYSFS_SUPPORTS_ZIP) +#define __PHYSICSFS_INTERNAL__ +#include "physfs_internal.h" + +#if PHYSFS_SUPPORTS_ZIP #include #include -#define __PHYSICSFS_INTERNAL__ -#include "physfs_internal.h" - #define USE_MINIZ 1 #if USE_MINIZ #include "physfs_miniz.h" diff --git a/src/physfs.c b/src/physfs.c index 6177c05..6fe11ba 100644 --- a/src/physfs.c +++ b/src/physfs.c @@ -68,28 +68,28 @@ extern const PHYSFS_Archiver __PHYSFS_Archiver_ISO9660; static const PHYSFS_ArchiveInfo *supported_types[] = { -#if (defined PHYSFS_SUPPORTS_ZIP) +#if PHYSFS_SUPPORTS_ZIP &__PHYSFS_ArchiveInfo_ZIP, #endif -#if (defined PHYSFS_SUPPORTS_7Z) +#if PHYSFS_SUPPORTS_7Z &__PHYSFS_ArchiveInfo_LZMA, #endif -#if (defined PHYSFS_SUPPORTS_GRP) +#if PHYSFS_SUPPORTS_GRP &__PHYSFS_ArchiveInfo_GRP, #endif -#if (defined PHYSFS_SUPPORTS_QPAK) +#if PHYSFS_SUPPORTS_QPAK &__PHYSFS_ArchiveInfo_QPAK, #endif -#if (defined PHYSFS_SUPPORTS_HOG) +#if PHYSFS_SUPPORTS_HOG &__PHYSFS_ArchiveInfo_HOG, #endif -#if (defined PHYSFS_SUPPORTS_MVL) +#if PHYSFS_SUPPORTS_MVL &__PHYSFS_ArchiveInfo_MVL, #endif -#if (defined PHYSFS_SUPPORTS_WAD) +#if PHYSFS_SUPPORTS_WAD &__PHYSFS_ArchiveInfo_WAD, #endif -#if (defined PHYSFS_SUPPORTS_ISO9660) +#if PHYSFS_SUPPORTS_ISO9660 &__PHYSFS_ArchiveInfo_ISO9660, #endif NULL @@ -97,28 +97,28 @@ static const PHYSFS_ArchiveInfo *supported_types[] = static const PHYSFS_Archiver *archivers[] = { -#if (defined PHYSFS_SUPPORTS_ZIP) +#if PHYSFS_SUPPORTS_ZIP &__PHYSFS_Archiver_ZIP, #endif -#if (defined PHYSFS_SUPPORTS_7Z) +#if PHYSFS_SUPPORTS_7Z &__PHYSFS_Archiver_LZMA, #endif -#if (defined PHYSFS_SUPPORTS_GRP) +#if PHYSFS_SUPPORTS_GRP &__PHYSFS_Archiver_GRP, #endif -#if (defined PHYSFS_SUPPORTS_QPAK) +#if PHYSFS_SUPPORTS_QPAK &__PHYSFS_Archiver_QPAK, #endif -#if (defined PHYSFS_SUPPORTS_HOG) +#if PHYSFS_SUPPORTS_HOG &__PHYSFS_Archiver_HOG, #endif -#if (defined PHYSFS_SUPPORTS_MVL) +#if PHYSFS_SUPPORTS_MVL &__PHYSFS_Archiver_MVL, #endif -#if (defined PHYSFS_SUPPORTS_WAD) +#if PHYSFS_SUPPORTS_WAD &__PHYSFS_Archiver_WAD, #endif -#if (defined PHYSFS_SUPPORTS_ISO9660) +#if PHYSFS_SUPPORTS_ISO9660 &__PHYSFS_Archiver_ISO9660, #endif NULL diff --git a/src/physfs_internal.h b/src/physfs_internal.h index f1f18c3..202afae 100644 --- a/src/physfs_internal.h +++ b/src/physfs_internal.h @@ -96,6 +96,28 @@ void __PHYSFS_smallFree(void *ptr); #define free(x) Do not use free() directly. /* !!! FIXME: add alloca check here. */ +#ifndef PHYSFS_SUPPORTS_ZIP +#define PHYSFS_SUPPORTS_ZIP 1 +#endif +#ifndef PHYSFS_SUPPORTS_7Z +#define PHYSFS_SUPPORTS_7Z 0 +#endif +#ifndef PHYSFS_SUPPORTS_GRP +#define PHYSFS_SUPPORTS_GRP 0 +#endif +#ifndef PHYSFS_SUPPORTS_HOG +#define PHYSFS_SUPPORTS_HOG 0 +#endif +#ifndef PHYSFS_SUPPORTS_MVL +#define PHYSFS_SUPPORTS_MVL 0 +#endif +#ifndef PHYSFS_SUPPORTS_WAD +#define PHYSFS_SUPPORTS_WAD 0 +#endif +#ifndef PHYSFS_SUPPORTS_ISO9660 +#define PHYSFS_SUPPORTS_ISO9660 0 +#endif + #define DIR_ARCHIVE_DESCRIPTION "Non-archive, direct filesystem I/O" #define GRP_ARCHIVE_DESCRIPTION "Build engine Groupfile format" #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"