-#define _SWAPWORD(x) (((unsigned)(x) >> 16) | ((unsigned)(x) << 16))
-
-#define FARGSIZE 1024 // Number of chars in filename argument
-#define FNLEN 1024 // Size of a file name
-#define NHANDLES 256 // Number of open file handles at once
-#define OST_BLOCK 0x400000 // Output symbol table block (4MB)
-#define DSTSEG_D 1 // Include file destination seg (DATA)
-#define DSTSEG_T 2 // Include file destination seg (TEXT)
-#define MAXARGS 256 // Max number of args in a command file
-
-// --- Headers -------------------------------------------------------------------------------------
-// Most of these structures reflect the actual format of the object in question, on a 68000: char
-// means one byte, int means two bytes, long means four. If the host machine doesn't have this
-// same format (like a VAX), you will have to read the file into a buffer and stuff the values into
-// the structure (see slongio.c).
+#define _SWAPWORD(x) (((unsigned)(x) >> 16) | ((unsigned)(x) << 16))
+
+#define FARGSIZE 1024 // Number of chars in filename argument
+#define FNLEN 1024 // Size of a file name
+#define NHANDLES 256 // Number of open file handles at once
+#define OST_BLOCK 0x400000 // Output symbol table block (4MB)
+#define DSTSEG_D 1 // Include file destination seg (DATA)
+#define DSTSEG_T 2 // Include file destination seg (TEXT)
+#define MAXARGS 256 // Max number of args in a command file
+
+// Headers
+
+// Most of these structures reflect the actual format of the object in
+// question, on a 68000: char means one byte, int means two bytes, long means
+// four. If the host machine doesn't have this same format (like a VAX), you
+// will have to read the file into a buffer and stuff the values into the
+// structure (see slongio.c).
+
+// Rather than rely on dodgy compilers for something that's now a C99 standard,
+// let's do this:
+#include <stdint.h>