-/* File: h-config.h */
+/* File: h-config.h */
#ifndef INCLUDED_H_CONFIG_H
#define INCLUDED_H_CONFIG_H
/*
* OPTION: Compile on a Macintosh (see "A-mac-h" or "A-mac-pch")
+ * Automatic for Mac MPW compilation
*/
#ifndef MACINTOSH
/* #define MACINTOSH */
/* #define WINDOWS */
#endif
+/*
+ * Extract the "MAC_MPW" flag from the compiler
+ */
+#if defined(__SC__) || defined(__MRC__)
+# ifndef MACINTOSH
+# define MACINTOSH
+# endif
+# ifndef MAC_MPW
+# define MAC_MPW
+# endif
+#endif
+
+
#ifdef USE_IBM
/*
/*
* The Macintosh allows the use of a "file type" when creating a file
*/
-#if defined(MACINTOSH) && !defined(applec)
+#if defined(MACINTOSH) || defined(MACH_O_CARBON)
# define FILE_TYPE_TEXT 'TEXT'
# define FILE_TYPE_DATA 'DATA'
# define FILE_TYPE_SAVE 'SAVE'
/*
- * OPTION: Hack -- Make sure "strchr()" and "strrchr()" will work
- */
-#if defined(SYS_III) || defined(SYS_V) || defined(MSDOS)
-# if !defined(__TURBOC__) && !defined(__WATCOMC__) && !defined(__DJGPP__)
-# define strchr index
-# define strrchr rindex
-# endif
-#endif
-
-
-/*
* OPTION: Define "HAS_STRICMP" only if "stricmp()" exists.
* Note that "stricmp()" is not actually used by Angband.
*/
/*
- * OPTION: Define "HAS_MEMSET" only if "memset()" exists.
- * Note that the "memset()" routines are used in "z-virt.h"
- */
-#define HAS_MEMSET
-
-
-/*
- * OPTION: Define "HAS_USLEEP" only if "usleep()" exists.
+ * OPTION: Define "HAVE_USLEEP" only if "usleep()" exists.
*
* Note that this is only relevant for "SET_UID" machines.
* Note that new "SOLARIS" and "SGI" machines have "usleep()".
*/
-#ifdef SET_UID
+#if defined(SET_UID) && !defined(HAVE_CONFIG_H)
# if !defined(HPUX) && !defined(ULTRIX) && !defined(ISC)
-# define HAS_USLEEP
+# define HAVE_USLEEP
# endif
#endif
#ifdef USE_IBM
- #ifndef HAS_USLEEP
- #define HAS_USLEEP /* Set for gcc (djgpp-v2), TY */
- #endif
-#endif
-
-/*
- * Try to use save tempfile handling on multi-user machines.
- *
- * Comment this out if you don't have mkstemp()
- *
- * Note - I don't know how widely used this function is.
- * Feedback would be helpful, so we can remove some platforms
- * from this 'catch-all' statement.
- */
-#ifdef SET_UID
-#define HAVE_MKSTEMP
-#endif
-
+# ifndef HAVE_USLEEP
+# define HAVE_USLEEP /* Set for gcc (djgpp-v2), TY */
+# endif
#endif
#ifdef JP
# if defined(EUC)
-# define iskanji(x) ((((int)(x) & 0xff) >= 0xa1 && ((int)(x) & 0xff) <= 0xfe) || ((int)(x) & 0xff) == 0x8e)
+# define iskanji(x) (((unsigned char)(x) >= 0xa1 && (unsigned char)(x) <= 0xfe) || (unsigned char)(x) == 0x8e)
# define iskana(x) (0)
# elif defined(SJIS)
-# define iskanji(x) ((0x81<=(unsigned char)(x) && (unsigned char)(x)<=0x9f)|| (0xe0<=(unsigned char)(x) && (unsigned char)(x)<=0xfc))
-# define iskana(x) (((x) >= 0xA0) && ((x)<= 0xDF))
+# define iskanji(x) ((0x81 <= (unsigned char)(x) && (unsigned char)(x) <= 0x9f) || (0xe0 <= (unsigned char)(x) && (unsigned char)(x) <= 0xfc))
+# define iskana(x) (((unsigned char)(x) >= 0xA0) && ((unsigned char)(x) <= 0xDF))
# elif defined(MSDOS)
# include <jctype.h>
# else
# endif /* MSDOS */
#endif
+#endif /* INCLUDED_H_CONFIG_H */