-unsigned errflag = 0; // Error flag, goes TRUE on error
-unsigned waitflag = 0; // Wait for any keypress flag
-unsigned versflag = 0; // Version banner has been shown flag
-unsigned aflag = 0; // Absolute linking flag
-unsigned bflag = 0; // Don't remove mulitply def locals flag
-unsigned cflag = 0; // COF executable
-unsigned dflag = 0; // Wait for key after link flag
-unsigned gflag = 0; // Source level debug include flag
-unsigned lflag = 0; // Add local symbols to output flag
-unsigned mflag = 0; // Produce symbol load map flag
-unsigned oflag = 0; // Output filename specified
-unsigned rflag = 0; // Segment alignment size flag
-unsigned sflag = 0; // Output only global symbols
-unsigned vflag = 0; // Verbose flag
-unsigned wflag = 0; // Show warnings flag
-unsigned zflag = 0; // Suppress banner flag
-unsigned pflag, uflag; // Unimplemented flags
-unsigned hd = 0; // Index of next file handle to fill
-unsigned secalign = 7; // Section Alignment (8=phrase)
-unsigned tbase = 0; // TEXT base address
-unsigned dbase = 0; // DATA base address
-unsigned bbase = 0; // BSS base address
-unsigned textoffset = 0; // COF TEXT segment offset
-unsigned dataoffset = 0; // COF DATA segment offset
-unsigned bssoffset = 0; // COF BSS segment offset
-unsigned displaybanner = 1; // Display version banner
-unsigned symoffset = 0; // Symbol table offset in output file
-unsigned dosymi = 0; // Dosym() processing iterator
-unsigned dbgsymbase = 0; // Debug symbol base address
-//unsigned symtrunc = 0; // Symbol truncation -i and -ii
-int noheaderflag = 0; // No header flag for ABS files
-int hflags; // Value of the arg to -h option
-int ttype, dtype, btype; // Type flag: 0, -1, -2, -3, -4
-int tval, dval, bval; // Values of these abs bases
-int hflag[NHANDLES]; // True for include files
-int handle[NHANDLES]; // Open file handles
-int textsize, datasize, bsssize; // Cumulative segment sizes
-char libdir[FARGSIZE * 3]; // Library directory to search
-char ofile[FARGSIZE]; // Output file name (.o)
-char * name[NHANDLES]; // Associated file names
-char * cmdlnexec = NULL; // Executable name - pointer to ARGV[0]
-char * hsym1[SYMLEN]; // First symbol for include files
-char * hsym2[SYMLEN]; // Second symbol for include files
-struct OFILE * plist = NULL; // Object image list pointer
-struct OFILE * plast; // Last object image list pointer
-struct OFILE * olist = NULL; // Pointer to first object file in list
-struct OFILE * olast; // Pointer to last object file in list
-char obj_fname[512][FNLEN]; // Object file names
-unsigned obj_segsize[512][3]; // Object file seg sizes; TEXT,DATA,BSS
-unsigned obj_index = 0; // Object file index/count
-struct HREC * htable[NBUCKETS]; // Hash table
-struct HREC * unresolved = NULL; // Pointer to unresolved hash list
-struct HREC * lookup(char *); // Hash lookup
-char * ost; // Output symbol table
-char * ost_ptr; // Output symbol table; current pointer
-char * ost_end; // Output symbol table; end pointer
-char * oststr; // Output string table
-char * oststr_ptr; // Output string table; current pointer
-char * oststr_end; // Output string table; end pointer
-int ost_index = 0; // Index of next ost addition
-int endian; // Processor endianess
+unsigned errflag = 0; // Error flag, goes TRUE on error
+unsigned waitflag = 0; // Wait for any keypress flag
+unsigned versflag = 0; // Version banner has been shown flag
+unsigned aflag = 0; // Absolute linking flag
+unsigned bflag = 0; // Don't remove mulitply def locals flag
+unsigned cflag = 0; // COF executable
+unsigned dflag = 0; // Wait for key after link flag
+unsigned gflag = 0; // Source level debug include flag
+unsigned lflag = 0; // Add local symbols to output flag
+unsigned mflag = 0; // Produce symbol load map flag
+unsigned oflag = 0; // Output filename specified
+unsigned rflag = 0; // Segment alignment size flag
+unsigned sflag = 0; // Output only global symbols
+unsigned vflag = 0; // Verbose flag
+unsigned wflag = 0; // Show warnings flag
+unsigned zflag = 0; // Suppress banner flag
+unsigned pflag, uflag; // Unimplemented flags
+unsigned hd = 0; // Index of next file handle to fill
+unsigned secalign = 7; // Section Alignment (8=phrase)
+unsigned tbase = 0; // TEXT base address
+unsigned dbase = 0; // DATA base address
+unsigned bbase = 0; // BSS base address
+unsigned textoffset = 0; // COF TEXT segment offset
+unsigned dataoffset = 0; // COF DATA segment offset
+unsigned bssoffset = 0; // COF BSS segment offset
+unsigned displaybanner = 1; // Display version banner
+unsigned symoffset = 0; // Symbol table offset in output file
+unsigned dosymi = 0; // Dosym() processing iterator
+unsigned dbgsymbase = 0; // Debug symbol base address
+//unsigned symtrunc = 0; // Symbol truncation -i and -ii
+int noheaderflag = 0; // No header flag for ABS files
+int hflags; // Value of the arg to -h option
+int ttype, dtype, btype; // Type flag: 0, -1, -2, -3, -4
+int tval, dval, bval; // Values of these abs bases
+int hflag[NHANDLES]; // True for include files
+int handle[NHANDLES]; // Open file handles
+int textsize, datasize, bsssize; // Cumulative segment sizes
+char libdir[FARGSIZE * 3]; // Library directory to search
+char ofile[FARGSIZE]; // Output file name (.o)
+char * name[NHANDLES]; // Associated file names
+char * cmdlnexec = NULL; // Executable name - pointer to ARGV[0]
+char * hsym1[SYMLEN]; // First symbol for include files
+char * hsym2[SYMLEN]; // Second symbol for include files
+struct OFILE * plist = NULL; // Object image list pointer
+struct OFILE * plast; // Last object image list pointer
+struct OFILE * olist = NULL; // Pointer to first object file in list
+struct OFILE * olast; // Pointer to last object file in list
+char obj_fname[512][FNLEN]; // Object file names
+unsigned obj_segsize[512][3]; // Object file seg sizes; TEXT,DATA,BSS
+unsigned obj_index = 0; // Object file index/count
+struct HREC * htable[NBUCKETS]; // Hash table
+struct HREC * unresolved = NULL; // Pointer to unresolved hash list
+struct HREC * lookup(char *); // Hash lookup
+char * ost; // Output symbol table
+char * ost_ptr; // Output symbol table; current pointer
+char * ost_end; // Output symbol table; end pointer
+char * oststr; // Output string table
+char * oststr_ptr; // Output string table; current pointer
+char * oststr_end; // Output string table; end pointer
+int ost_index = 0; // Index of next ost addition
+int endian; // Processor endianess
- char * symtab; // Start of symbol table
- char * symbols; // Start of symbols
- char * sptr; // Start of segment data
- char * rptr; // Start of segment relocation records
- unsigned symidx; // Offset to symbol
- unsigned addr; // Relocation address
- unsigned rflg; // Relocation flags
- unsigned olddata; // Old segment data at reloc address
- unsigned newdata = 0; // New segment data at reloc address
- unsigned pad; // Temporary to calculate phrase padding
- int i; // Iterator
- char sym[SYMLEN]; // String for symbol name/hash search
- int ssidx; // Segment size table index
- unsigned glblreloc; // Global relocation flag
- unsigned absreloc; // Absolute relocation flag
- unsigned relreloc; // Relative relocation flag
- unsigned swcond; // Switch statement condition
- unsigned relocsize; // Relocation record size
+ char * symtab; // Start of symbol table
+ char * symbols; // Start of symbols
+ char * sptr; // Start of segment data
+ char * rptr; // Start of segment relocation records
+ unsigned symidx; // Offset to symbol
+ unsigned addr; // Relocation address
+ unsigned rflg; // Relocation flags
+ unsigned olddata; // Old segment data at reloc address
+ unsigned newdata = 0; // New segment data at reloc address
+ unsigned pad; // Temporary to calculate phrase padding
+ int i; // Iterator
+ char sym[SYMLEN]; // String for symbol name/hash search
+ int ssidx; // Segment size table index
+ unsigned glblreloc; // Global relocation flag
+ unsigned absreloc; // Absolute relocation flag
+ unsigned relreloc; // Relative relocation flag
+ unsigned swcond; // Switch statement condition
+ unsigned relocsize; // Relocation record size
- FILE * fd; // File descriptor
- unsigned osize; // Object segment size
- struct OFILE * otemp; // Object file pointer
- int i, j; // Iterators
- char himage[0x168]; // Header image (COF = 0xA8)
- unsigned tsoff, dsoff, bsoff; // Segment offset values
- unsigned index, type, value; // Symbol table index, type and value
- short abstype; // ABS symbol type
- char symbol[14]; // Symbol record for ABS files
- int slen; // Symbol string length
-
- symoffset = 0; // Initialise symbol offset
+ FILE * fd; // File descriptor
+ unsigned osize; // Object segment size
+ struct OFILE * otemp; // Object file pointer
+ int i, j; // Iterators
+ char himage[0x168]; // Header image (COF = 0xA8)
+ unsigned tsoff, dsoff, bsoff; // Segment offset values
+ unsigned index, type, value; // Symbol table index, type and value
+ short abstype; // ABS symbol type
+ char symbol[14]; // Symbol record for ABS files
+ int slen; // Symbol string length
+
+ symoffset = 0; // Initialise symbol offset