From 507b099d5dfdfbbdf247eba7927a3b4761f4d0ca Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Thu, 21 Jul 2005 18:10:17 +0000 Subject: [PATCH] Patched to compile on OS/2 again. --- CHANGELOG | 1 + platform/os2.c | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 0be757ba..184d0901 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,7 @@ * CHANGELOG. */ +07212005 - Patched to compile on OS/2 again. 07132005 - Updated zlib to 1.2.2, and patched it for this security hole: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-2096 06122005 - Added support for mingw to Unix build process (thanks, Matze!). diff --git a/platform/os2.c b/platform/os2.c index b115707f..8daf754c 100644 --- a/platform/os2.c +++ b/platform/os2.c @@ -260,7 +260,8 @@ void __PHYSFS_platformDetectAvailableCDs(PHYSFS_StringCallback cb, void *data) ULONG drivemap = 0; ULONG i, bit; APIRET rc = DosQueryCurrentDisk(&dummy, &drivemap); - BAIL_IF_MACRO(os2err(rc) != NO_ERROR, NULL, retval); + if (os2err(rc) != NO_ERROR) + return; for (i = 0, bit = 1; i < 26; i++, bit <<= 1) { @@ -406,7 +407,12 @@ void __PHYSFS_platformEnumerateFiles(const char *dirname, ULONG count = 1; APIRET rc; - BAIL_IF_MACRO(strlen(dirname) > sizeof (spec) - 5, ERR_BAD_FILENAME, NULL); + if (strlen(dirname) > sizeof (spec) - 5) + { + __PHYSFS_setError(ERR_BAD_FILENAME); + return; + } /* if */ + strcpy(spec, dirname); strcat(spec, (spec[strlen(spec) - 1] != '\\') ? "\\*.*" : "*.*"); @@ -414,7 +420,10 @@ void __PHYSFS_platformEnumerateFiles(const char *dirname, FILE_DIRECTORY | FILE_ARCHIVED | FILE_READONLY | FILE_HIDDEN | FILE_SYSTEM, &fb, sizeof (fb), &count, FIL_STANDARD); - BAIL_IF_MACRO(os2err(rc) != NO_ERROR, NULL, 0); + + if (os2err(rc) != NO_ERROR) + return; + while (count == 1) { if ((strcmp(fb.achName, ".") != 0) && (strcmp(fb.achName, "..") != 0))