1
0
Эх сурвалжийг харах

MacOS Classic fixes, MPW support, and removal of SITX for SIT (no SITX support
in the final Stuffit Expander for OS9, apparently).

Ryan C. Gordon 21 жил өмнө
parent
commit
804d364506

+ 3 - 1
CHANGELOG

@@ -5,7 +5,9 @@
 -- stuff in the stable-1.0 branch, backported from 2.0.0 dev branch, etc ---
 
 03162005 - Readded Spanish translation. Added Brazillian Portguese translation
-           and fixed unlocalized string in wad.c (thanks Danny!).
+           and fixed unlocalized string in wad.c (thanks Danny!). Some MacOS
+           Classic fixes and MPW support (thanks, Chris!). Changed CWProjects
+           from SITX to SIT format, so MacOS Classic users can unpack it.
 02152005 - Minor comment fix in platform/pocketpc.c
 01052004 - Fixed HOG archiver sorting/file lookup (thanks, Chris!)
 12162004 - Fixed some documentation/header comment typos (thanks, Gaetan!)

BIN
CWProjects.sit


BIN
CWProjects.sitx


+ 4 - 0
physfs_byteorder.c

@@ -47,6 +47,10 @@
 #endif
 #endif /* linux */
 
+#if (defined macintosh) && !(defined __MWERKS__)
+#define __inline__
+#endif
+
 #if (defined _MSC_VER)
 #define __inline__ __inline
 #endif

+ 7 - 20
platform/macclassic.c

@@ -14,7 +14,6 @@
 #include <stdlib.h>
 #include <string.h>
 #include <ctype.h>
-#include <alloca.h>
 
 /*
  * Most of the API calls in here are, according to ADC, available since
@@ -138,7 +137,7 @@ static OSErr oserr(OSErr retval)
     const char *errstr = get_macos_error_string(retval);
     if (strcmp(errstr, ERR_MACOS_GENERIC) == 0)
     {
-        snprintf(buf, sizeof (buf), ERR_MACOS_GENERIC, (int) retval);
+        sprintf(buf, ERR_MACOS_GENERIC, (int) retval);
         errstr = buf;
     } /* if */
 
@@ -768,16 +767,10 @@ PHYSFS_sint64 __PHYSFS_platformRead(void *opaque, void *buffer,
                                     PHYSFS_uint32 size, PHYSFS_uint32 count)
 {
     SInt16 ref = *((SInt16 *) opaque);
-    SInt32 br;
-    PHYSFS_uint32 i;
+    SInt32 br = size*count;
 
-    for (i = 0; i < count; i++)
-    {
-        br = size;
-        BAIL_IF_MACRO(oserr(FSRead(ref, &br, buffer)) != noErr, NULL, i);
-        BAIL_IF_MACRO(br != size, NULL, i);  /* !!! FIXME: seek back if only read part of an object! */
-        buffer = ((PHYSFS_uint8 *) buffer) + size;
-    } /* for */
+	BAIL_IF_MACRO(oserr(FSRead(ref, &br, buffer)) != noErr, NULL, br/size);
+	BAIL_IF_MACRO(br != size*count, NULL, br/size);  /* !!! FIXME: seek back if only read part of an object! */
 
     return(count);
 } /* __PHYSFS_platformRead */
@@ -787,16 +780,10 @@ PHYSFS_sint64 __PHYSFS_platformWrite(void *opaque, const void *buffer,
                                      PHYSFS_uint32 size, PHYSFS_uint32 count)
 {
     SInt16 ref = *((SInt16 *) opaque);
-    SInt32 bw;
-    PHYSFS_uint32 i;
+    SInt32 bw = size*count;
 
-    for (i = 0; i < count; i++)
-    {
-        bw = size;
-        BAIL_IF_MACRO(oserr(FSWrite(ref, &bw, buffer)) != noErr, NULL, i);
-        BAIL_IF_MACRO(bw != size, NULL, i); /* !!! FIXME: seek back if only wrote part of an object! */
-        buffer = ((PHYSFS_uint8 *) buffer) + size;
-    } /* for */
+	BAIL_IF_MACRO(oserr(FSWrite(ref, &bw, buffer)) != noErr, NULL, bw/size);
+	BAIL_IF_MACRO(bw != size*count, NULL, bw/size); /* !!! FIXME: seek back if only wrote part of an object! */
 
     return(count);
 } /* __PHYSFS_platformWrite */

+ 5 - 2
zlib121/zconf.h

@@ -3,7 +3,7 @@
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
-/* @(#) $Id: zconf.h,v 1.2 2003/12/22 18:19:09 bhook Exp $ */
+/* @(#) $Id$ */
 
 #ifndef ZCONF_H
 #define ZCONF_H
@@ -127,6 +127,9 @@
 #if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
 #  define STDC
 #endif
+#if !defined(STDC) && defined(macintosh)
+#  define STDC
+#endif
 
 #if defined(__OS400__) && !defined(STDC)    /* iSeries (formerly AS/400). */
 #  define STDC
@@ -139,7 +142,7 @@
 #endif
 
 /* Some Mac compilers merge all .h files incorrectly: */
-#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
+#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)||defined(__MRC__)
 #  define NO_DUMMY_DECL
 #endif