diff options
author | Muhammad Moinur Rahman <bofh@FreeBSD.org> | 2023-06-08 15:28:56 +0000 |
---|---|---|
committer | Muhammad Moinur Rahman <bofh@FreeBSD.org> | 2023-06-08 15:30:56 +0000 |
commit | 34315a4bc087544cf809bcd96499b7a18c877163 (patch) | |
tree | 355dd71c4f6a8af08c61e09b44b7d1b52710c71b | |
parent | d05a00a5b05d8c5e803f593330d8841198662a93 (diff) | |
download | ports-34315a4bc087544cf809bcd96499b7a18c877163.tar.gz ports-34315a4bc087544cf809bcd96499b7a18c877163.zip |
misc/mtx: Fix build on llvm15
-rw-r--r-- | misc/mtx/Makefile | 10 | ||||
-rw-r--r-- | misc/mtx/files/extra-patch-FreeBSD_14 | 923 |
2 files changed, 933 insertions, 0 deletions
diff --git a/misc/mtx/Makefile b/misc/mtx/Makefile index cd82160c1283..71f65f1667e1 100644 --- a/misc/mtx/Makefile +++ b/misc/mtx/Makefile @@ -11,15 +11,25 @@ WWW= https://sourceforge.net/projects/mtx/ LICENSE= GPLv2 USES= gmake + GNU_CONFIGURE= yes + PLIST_FILES= sbin/mtx sbin/tapeinfo sbin/loaderinfo sbin/scsitape sbin/scsieject \ man/man1/loaderinfo.1.gz man/man1/mtx.1.gz man/man1/tapeinfo.1.gz \ man/man1/scsitape.1.gz man/man1/scsieject.1.gz +.include <bsd.port.options.mk> + +.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1400079 +EXTRA_PATCHES= ${PATCHDIR}/extra-patch-FreeBSD_14 +.endif + post-patch: ${REINPLACE_CMD} -e 's|@prefix@|${STAGEDIR}${PREFIX}|g' \ ${WRKSRC}/Makefile.in ${REINPLACE_CMD} -e 's|@mandir@|${STAGEDIR}${PREFIX}/man|g' \ ${WRKSRC}/Makefile.in +# ${REINPLACE_CMD} -e '/false, true/d' \ +# ${WRKSRC}/mtx.h .include <bsd.port.mk> diff --git a/misc/mtx/files/extra-patch-FreeBSD_14 b/misc/mtx/files/extra-patch-FreeBSD_14 new file mode 100644 index 000000000000..e5fbb2c6853d --- /dev/null +++ b/misc/mtx/files/extra-patch-FreeBSD_14 @@ -0,0 +1,923 @@ +--- mtx.h.orig 2023-06-08 15:05:44 UTC ++++ mtx.h +@@ -7,7 +7,7 @@ + + $Date: 2008-08-19 03:03:38 -0700 (Tue, 19 Aug 2008) $ + $Revision: 193 $ +- See mtx.c for licensing information. ++ See mtx.c for licensing information. + + */ + +@@ -68,6 +68,9 @@ + # include <sys/param.h> + #endif + ++#if HAVE_STDBOOL_H ++#include <stdbool.h> ++#endif + /* Now greatly modified to use GNU Autoconf stuff: */ + /* If we use the 'sg' interface, like Linux, do this: */ + #if HAVE_SCSI_SG_H +@@ -148,7 +151,7 @@ typedef dsreq_t *DEVICE_TYPE; /* 64-bit pointers/32bit + #endif /* VMS protect. */ + + /* Do a test for LITTLE_ENDIAN_BITFIELDS. Use WORDS_BIGENDIAN as set +- * by configure: ++ * by configure: + */ + + #if WORDS_BIGENDIAN +@@ -183,7 +186,7 @@ typedef dsreq_t *DEVICE_TYPE; /* 64-bit pointers/32bit + #undef S_VOLUME_OVERFLOW + #endif + +-/* Note: These are only used for defaults for when we don't have ++/* Note: These are only used for defaults for when we don't have + * the element assignment mode page to tell us real amount... + */ + #define MAX_STORAGE_ELEMENTS 64 /* for the BIG jukeboxes! */ +@@ -212,18 +215,11 @@ typedef struct SCSI_Flags_Struct + } SCSI_Flags_T; + + #ifdef _MSC_VER +-typedef unsigned char boolean; +- +-#define false 0 +-#define true 1 +- + typedef unsigned char Direction_T; + + #define Input 0 + #define Output 1 + #else +-typedef enum { false, true } boolean; +- + typedef enum { Input, Output } Direction_T; + #endif + +@@ -237,66 +233,66 @@ typedef struct Inquiry + unsigned char PeripheralDeviceType:5; /* Byte 0 Bits 0-4 */ + unsigned char PeripheralQualifier:3; /* Byte 0 Bits 5-7 */ + unsigned char DeviceTypeModifier:7; /* Byte 1 Bits 0-6 */ +- boolean RMB:1; /* Byte 1 Bit 7 */ ++ bool RMB:1; /* Byte 1 Bit 7 */ + unsigned char ANSI_ApprovedVersion:3; /* Byte 2 Bits 0-2 */ + unsigned char ECMA_Version:3; /* Byte 2 Bits 3-5 */ + unsigned char ISO_Version:2; /* Byte 2 Bits 6-7 */ + unsigned char ResponseDataFormat:4; /* Byte 3 Bits 0-3 */ + unsigned char :2; /* Byte 3 Bits 4-5 */ +- boolean TrmIOP:1; /* Byte 3 Bit 6 */ +- boolean AENC:1; /* Byte 3 Bit 7 */ ++ bool TrmIOP:1; /* Byte 3 Bit 6 */ ++ bool AENC:1; /* Byte 3 Bit 7 */ + #else + unsigned char PeripheralQualifier:3; /* Byte 0 Bits 5-7 */ + unsigned char PeripheralDeviceType:5; /* Byte 0 Bits 0-4 */ +- boolean RMB:1; /* Byte 1 Bit 7 */ ++ bool RMB:1; /* Byte 1 Bit 7 */ + unsigned char DeviceTypeModifier:7; /* Byte 1 Bits 0-6 */ + unsigned char ISO_Version:2; /* Byte 2 Bits 6-7 */ + unsigned char ECMA_Version:3; /* Byte 2 Bits 3-5 */ + unsigned char ANSI_ApprovedVersion:3; /* Byte 2 Bits 0-2 */ +- boolean AENC:1; /* Byte 3 Bit 7 */ +- boolean TrmIOP:1; /* Byte 3 Bit 6 */ ++ bool AENC:1; /* Byte 3 Bit 7 */ ++ bool TrmIOP:1; /* Byte 3 Bit 6 */ + unsigned char :2; /* Byte 3 Bits 4-5 */ + unsigned char ResponseDataFormat:4; /* Byte 3 Bits 0-3 */ + #endif + unsigned char AdditionalLength; /* Byte 4 */ + unsigned char :8; /* Byte 5 */ + #ifdef LITTLE_ENDIAN_BITFIELDS +- boolean ADDR16:1; /* Byte 6 bit 0 */ +- boolean Obs6_1:1; /* Byte 6 bit 1 */ +- boolean Obs6_2:1; /* obsolete */ /* Byte 6 bit 2 */ +- boolean MChngr:1; /* Media Changer */ /* Byte 6 bit 3 */ +- boolean MultiP:1; /* Byte 6 bit 4 */ +- boolean VS:1; /* Byte 6 bit 5 */ +- boolean EncServ:1; /* Byte 6 bit 6 */ +- boolean BQue:1; /* Byte 6 bit 7 */ ++ bool ADDR16:1; /* Byte 6 bit 0 */ ++ bool Obs6_1:1; /* Byte 6 bit 1 */ ++ bool Obs6_2:1; /* obsolete */ /* Byte 6 bit 2 */ ++ bool MChngr:1; /* Media Changer */ /* Byte 6 bit 3 */ ++ bool MultiP:1; /* Byte 6 bit 4 */ ++ bool VS:1; /* Byte 6 bit 5 */ ++ bool EncServ:1; /* Byte 6 bit 6 */ ++ bool BQue:1; /* Byte 6 bit 7 */ + #else +- boolean BQue:1; /* Byte 6 bit 7 */ +- boolean EncServ:1; /* Byte 6 bit 6 */ +- boolean VS:1; /* Byte 6 bit 5 */ +- boolean MultiP:1; /* Byte 6 bit 4 */ +- boolean MChngr:1; /* Media Changer */ /* Byte 6 bit 3 */ +- boolean Obs6_2:1; /* obsolete */ /* Byte 6 bit 2 */ +- boolean Obs6_1:1; /* Byte 6 bit 1 */ +- boolean ADDR16:1; /* Byte 6 bit 0 */ ++ bool BQue:1; /* Byte 6 bit 7 */ ++ bool EncServ:1; /* Byte 6 bit 6 */ ++ bool VS:1; /* Byte 6 bit 5 */ ++ bool MultiP:1; /* Byte 6 bit 4 */ ++ bool MChngr:1; /* Media Changer */ /* Byte 6 bit 3 */ ++ bool Obs6_2:1; /* obsolete */ /* Byte 6 bit 2 */ ++ bool Obs6_1:1; /* Byte 6 bit 1 */ ++ bool ADDR16:1; /* Byte 6 bit 0 */ + #endif + #ifdef LITTLE_ENDIAN_BITFIELDS +- boolean SftRe:1; /* Byte 7 Bit 0 */ +- boolean CmdQue:1; /* Byte 7 Bit 1 */ +- boolean :1; /* Byte 7 Bit 2 */ +- boolean Linked:1; /* Byte 7 Bit 3 */ +- boolean Sync:1; /* Byte 7 Bit 4 */ +- boolean WBus16:1; /* Byte 7 Bit 5 */ +- boolean WBus32:1; /* Byte 7 Bit 6 */ +- boolean RelAdr:1; /* Byte 7 Bit 7 */ ++ bool SftRe:1; /* Byte 7 Bit 0 */ ++ bool CmdQue:1; /* Byte 7 Bit 1 */ ++ bool :1; /* Byte 7 Bit 2 */ ++ bool Linked:1; /* Byte 7 Bit 3 */ ++ bool Sync:1; /* Byte 7 Bit 4 */ ++ bool WBus16:1; /* Byte 7 Bit 5 */ ++ bool WBus32:1; /* Byte 7 Bit 6 */ ++ bool RelAdr:1; /* Byte 7 Bit 7 */ + #else +- boolean RelAdr:1; /* Byte 7 Bit 7 */ +- boolean WBus32:1; /* Byte 7 Bit 6 */ +- boolean WBus16:1; /* Byte 7 Bit 5 */ +- boolean Sync:1; /* Byte 7 Bit 4 */ +- boolean Linked:1; /* Byte 7 Bit 3 */ +- boolean :1; /* Byte 7 Bit 2 */ +- boolean CmdQue:1; /* Byte 7 Bit 1 */ +- boolean SftRe:1; /* Byte 7 Bit 0 */ ++ bool RelAdr:1; /* Byte 7 Bit 7 */ ++ bool WBus32:1; /* Byte 7 Bit 6 */ ++ bool WBus16:1; /* Byte 7 Bit 5 */ ++ bool Sync:1; /* Byte 7 Bit 4 */ ++ bool Linked:1; /* Byte 7 Bit 3 */ ++ bool :1; /* Byte 7 Bit 2 */ ++ bool CmdQue:1; /* Byte 7 Bit 1 */ ++ bool SftRe:1; /* Byte 7 Bit 0 */ + #endif + unsigned char VendorIdentification[8]; /* Bytes 8-15 */ + unsigned char ProductIdentification[16]; /* Bytes 16-31 */ +@@ -319,22 +315,22 @@ typedef struct RequestSense + { + #ifdef LITTLE_ENDIAN_BITFIELDS + unsigned char ErrorCode:7; /* Byte 0 Bits 0-6 */ +- boolean Valid:1; /* Byte 0 Bit 7 */ ++ bool Valid:1; /* Byte 0 Bit 7 */ + #else +- boolean Valid:1; /* Byte 0 Bit 7 */ ++ bool Valid:1; /* Byte 0 Bit 7 */ + unsigned char ErrorCode:7; /* Byte 0 Bits 0-6 */ + #endif + unsigned char SegmentNumber; /* Byte 1 */ + #ifdef LITTLE_ENDIAN_BITFIELDS + unsigned char SenseKey:4; /* Byte 2 Bits 0-3 */ + unsigned char :1; /* Byte 2 Bit 4 */ +- boolean ILI:1; /* Byte 2 Bit 5 */ +- boolean EOM:1; /* Byte 2 Bit 6 */ +- boolean Filemark:1; /* Byte 2 Bit 7 */ ++ bool ILI:1; /* Byte 2 Bit 5 */ ++ bool EOM:1; /* Byte 2 Bit 6 */ ++ bool Filemark:1; /* Byte 2 Bit 7 */ + #else +- boolean Filemark:1; /* Byte 2 Bit 7 */ +- boolean EOM:1; /* Byte 2 Bit 6 */ +- boolean ILI:1; /* Byte 2 Bit 5 */ ++ bool Filemark:1; /* Byte 2 Bit 7 */ ++ bool EOM:1; /* Byte 2 Bit 6 */ ++ bool ILI:1; /* Byte 2 Bit 5 */ + unsigned char :1; /* Byte 2 Bit 4 */ + unsigned char SenseKey:4; /* Byte 2 Bits 0-3 */ + #endif +@@ -346,15 +342,15 @@ typedef struct RequestSense + unsigned char :8; /* Byte 14 */ + #ifdef LITTLE_ENDIAN_BITFIELDS + unsigned char BitPointer:3; /* Byte 15 */ +- boolean BPV:1; ++ bool BPV:1; + unsigned char :2; +- boolean CommandData :1; +- boolean SKSV:1; ++ bool CommandData :1; ++ bool SKSV:1; + #else +- boolean SKSV:1; +- boolean CommandData :1; ++ bool SKSV:1; ++ bool CommandData :1; + unsigned char :2; +- boolean BPV:1; ++ bool BPV:1; + unsigned char BitPointer:3; /* Byte 15 */ + #endif + unsigned char FieldData[2]; /* Byte 16,17 */ +@@ -436,11 +432,11 @@ typedef struct ElementStatusPage + ElementTypeCode_T ElementTypeCode:8; /* Byte 0 */ + #ifdef LITTLE_ENDIAN_BITFIELDS + unsigned char :6; /* Byte 1 Bits 0-5 */ +- boolean AVolTag:1; /* Byte 1 Bit 6 */ +- boolean PVolTag:1; /* Byte 1 Bit 7 */ ++ bool AVolTag:1; /* Byte 1 Bit 6 */ ++ bool PVolTag:1; /* Byte 1 Bit 7 */ + #else +- boolean PVolTag:1; /* Byte 1 Bit 7 */ +- boolean AVolTag:1; /* Byte 1 Bit 6 */ ++ bool PVolTag:1; /* Byte 1 Bit 7 */ ++ bool AVolTag:1; /* Byte 1 Bit 6 */ + unsigned char :6; /* Byte 1 Bits 0-5 */ + #endif + unsigned char ElementDescriptorLength[2]; /* Bytes 2-3 */ +@@ -467,15 +463,15 @@ typedef struct TransportElementDescriptorShort + { + unsigned char ElementAddress[2]; /* Bytes 0-1 */ + #ifdef LITTLE_ENDIAN_BITFIELDS +- boolean Full:1; /* Byte 2 Bit 0 */ ++ bool Full:1; /* Byte 2 Bit 0 */ + unsigned char :1; /* Byte 2 Bit 1 */ +- boolean Except:1; /* Byte 2 Bit 2 */ ++ bool Except:1; /* Byte 2 Bit 2 */ + unsigned char :5; /* Byte 2 Bits 3-7 */ + #else + unsigned char :5; /* Byte 2 Bits 3-7 */ +- boolean Except:1; /* Byte 2 Bit 2 */ ++ bool Except:1; /* Byte 2 Bit 2 */ + unsigned char :1; /* Byte 2 Bit 1 */ +- boolean Full:1; /* Byte 2 Bit 0 */ ++ bool Full:1; /* Byte 2 Bit 0 */ + #endif + unsigned char :8; /* Byte 3 */ + unsigned char AdditionalSenseCode; /* Byte 4 */ +@@ -485,11 +481,11 @@ typedef struct TransportElementDescriptorShort + unsigned char :8; /* Byte 8 */ + #ifdef LITTLE_ENDIAN_BITFIELDS + unsigned char :6; /* Byte 9 Bits 0-5 */ +- boolean SValid:1; /* Byte 9 Bit 6 */ +- boolean Invert:1; /* Byte 9 Bit 7 */ ++ bool SValid:1; /* Byte 9 Bit 6 */ ++ bool Invert:1; /* Byte 9 Bit 7 */ + #else +- boolean Invert:1; /* Byte 9 Bit 7 */ +- boolean SValid:1; /* Byte 9 Bit 6 */ ++ bool Invert:1; /* Byte 9 Bit 7 */ ++ bool SValid:1; /* Byte 9 Bit 6 */ + unsigned char :6; /* Byte 9 Bits 0-5 */ + #endif + unsigned char SourceStorageElementAddress[2]; /* Bytes 10-11 */ +@@ -504,15 +500,15 @@ typedef struct TransportElementDescriptor + { + unsigned char ElementAddress[2]; /* Bytes 0-1 */ + #ifdef LITTLE_ENDIAN_BITFIELDS +- boolean Full:1; /* Byte 2 Bit 0 */ ++ bool Full:1; /* Byte 2 Bit 0 */ + unsigned char :1; /* Byte 2 Bit 1 */ +- boolean Except:1; /* Byte 2 Bit 2 */ ++ bool Except:1; /* Byte 2 Bit 2 */ + unsigned char :5; /* Byte 2 Bits 3-7 */ + #else + unsigned char :5; /* Byte 2 Bits 3-7 */ +- boolean Except:1; /* Byte 2 Bit 2 */ ++ bool Except:1; /* Byte 2 Bit 2 */ + unsigned char :1; /* Byte 2 Bit 1 */ +- boolean Full:1; /* Byte 2 Bit 0 */ ++ bool Full:1; /* Byte 2 Bit 0 */ + #endif + unsigned char :8; /* Byte 3 */ + unsigned char AdditionalSenseCode; /* Byte 4 */ +@@ -522,20 +518,20 @@ typedef struct TransportElementDescriptor + unsigned char :8; /* Byte 8 */ + #ifdef LITTLE_ENDIAN_BITFIELDS + unsigned char :6; /* Byte 9 Bits 0-5 */ +- boolean SValid:1; /* Byte 9 Bit 6 */ +- boolean Invert:1; /* Byte 9 Bit 7 */ ++ bool SValid:1; /* Byte 9 Bit 6 */ ++ bool Invert:1; /* Byte 9 Bit 7 */ + #else +- boolean Invert:1; /* Byte 9 Bit 7 */ +- boolean SValid:1; /* Byte 9 Bit 6 */ ++ bool Invert:1; /* Byte 9 Bit 7 */ ++ bool SValid:1; /* Byte 9 Bit 6 */ + unsigned char :6; /* Byte 9 Bits 0-5 */ + #endif + unsigned char SourceStorageElementAddress[2]; /* Bytes 10-11 */ + unsigned char PrimaryVolumeTag[36]; /* barcode */ +- unsigned char AlternateVolumeTag[36]; ++ unsigned char AlternateVolumeTag[36]; + #ifdef HAS_LONG_DESCRIPTORS + unsigned char Reserved[4]; /* 4 extra bytes? */ + #endif +- ++ + } + TransportElementDescriptor_T; + +@@ -558,12 +554,12 @@ typedef struct ElementStatus { + barcode *PrimaryVolumeTag; /* array */ + barcode *AlternateVolumeTag; /* array */ + int *StorageElementAddress; /* array */ +- boolean *StorageElementIsImportExport; /* array */ ++ bool *StorageElementIsImportExport; /* array */ + + int TransportElementAddress; /* assume only one of those... */ + +- boolean *DataTransferElementFull; /* array */ +- boolean *StorageElementFull; /* array */ ++ bool *DataTransferElementFull; /* array */ ++ bool *StorageElementFull; /* array */ + + } ElementStatus_T; + +@@ -577,7 +573,7 @@ typedef struct scsi_id { + #define MEDIUM_CHANGER_TYPE 8 /* what type bits are set for medium changers. */ + + /* The following two structs are used for the brain-dead functions of the +- * NSM jukebox. ++ * NSM jukebox. + */ + + typedef struct NSM_Param { +@@ -592,7 +588,7 @@ typedef struct NSM_Param { + unsigned char command_params[2048]; /* egregious overkill. */ + } NSM_Param_T; + +-extern RequestSense_T scsi_error_sense; ++extern RequestSense_T scsi_error_sense; + + typedef struct NSM_Result { + unsigned char page_code; +@@ -600,7 +596,7 @@ typedef struct NSM_Result { + unsigned char page_len_msb; + unsigned char page_len_lsb; + unsigned char command_code[4]; +- unsigned char ces_code[2]; ++ unsigned char ces_code[2]; + unsigned char return_data[0xffff]; /* egregioius overkill */ + } NSM_Result_T; + +--- mtxl.c.orig 2023-06-08 15:12:53 UTC ++++ mtxl.c +@@ -23,7 +23,7 @@ + + /* + * FatalError: changed Feb. 2000 elg@badtux.org to eliminate a buffer +- * overflow :-(. That could be important if mtxl is SUID for some reason. ++ * overflow :-(. That could be important if mtxl is SUID for some reason. + */ + + #include "mtx.h" +@@ -34,7 +34,7 @@ + /* #define DEBUG_MODE_SENSE 1 */ + /* #define DEBUG */ + /* #define DEBUG_SCSI */ +-#define __WEIRD_CHAR_SUPPRESS 1 ++#define __WEIRD_CHAR_SUPPRESS 1 + + /* zap the following define when we finally add real import/export support */ + #define IMPORT_EXPORT_HACK 1 /* for the moment, import/export == storage */ +@@ -97,7 +97,7 @@ Inquiry_T *RequestInquiry(DEVICE_TYPE fd, RequestSense + Inquiry_T *Inquiry; + CDB_T CDB; + +- Inquiry = (Inquiry_T *) xmalloc(sizeof(Inquiry_T)); ++ Inquiry = (Inquiry_T *) xmalloc(sizeof(Inquiry_T)); + + CDB[0] = 0x12; /* INQUIRY */ + CDB[1] = 0; /* EVPD = 0 */ +@@ -277,10 +277,10 @@ int max(int x, int y) + + + /* Okay, this is a hack for the NSM modular jukebox series, which +- * uses the "SEND DIAGNOSTIC" command to do shit. ++ * uses the "SEND DIAGNOSTIC" command to do shit. + */ + +-int SendNSMHack(DEVICE_TYPE MediumChangerFD, NSM_Param_T *nsm_command, ++int SendNSMHack(DEVICE_TYPE MediumChangerFD, NSM_Param_T *nsm_command, + int param_len, int timeout) + { + CDB_T CDB; +@@ -359,7 +359,7 @@ NSM_Result_T *RecNSMHack( DEVICE_TYPE MediumChangerFD, + + /* Routine to inventory the library. Needed by, e.g., some Breece Hill + * loaders. Sends an INITIALIZE_ELEMENT_STATUS command. This command +- * has no parameters, such as a range to scan :-(. ++ * has no parameters, such as a range to scan :-(. + */ + + int Inventory(DEVICE_TYPE MediumChangerFD) +@@ -367,7 +367,7 @@ int Inventory(DEVICE_TYPE MediumChangerFD) + CDB_T CDB; + + /* okay, now for the command: */ +- CDB[0] = 0x07; ++ CDB[0] = 0x07; + CDB[1] = CDB[2] = CDB[3] = CDB[4] = CDB[5] = 0; + + /* set us a very long timeout, sigh... */ +@@ -391,8 +391,8 @@ int Inventory(DEVICE_TYPE MediumChangerFD) + /* Routine to read the Mode Sense Element Address Assignment Page */ + /* We try to read the page. If we can't read the page, we return NULL. + * Our caller really isn't too worried about why we could not read the +- * page, it will simply default to some kind of default values. +- */ ++ * page, it will simply default to some kind of default values. ++ */ + ElementModeSense_T *ReadAssignmentPage(DEVICE_TYPE MediumChangerFD) + { + CDB_T CDB; +@@ -402,7 +402,7 @@ ElementModeSense_T *ReadAssignmentPage(DEVICE_TYPE Med + + /* okay, now for the command: */ + CDB[0] = 0x1A; /* Mode Sense(6) */ +- CDB[1] = 0x08; ++ CDB[1] = 0x08; + CDB[2] = 0x1D; /* Mode Sense Element Address Assignment Page */ + CDB[3] = 0; + CDB[4] = 136; /* allocation_length... */ +@@ -479,7 +479,7 @@ ElementModeSense_T *ReadAssignmentPage(DEVICE_TYPE Med + ((int)sense_page->NumStorageHi << 8) + sense_page->NumStorageLo; + + retval->ImportExportStart = +- ((int)sense_page->ImportExportStartHi << 8) + sense_page->ImportExportStartLo; ++ ((int)sense_page->ImportExportStartHi << 8) + sense_page->ImportExportStartLo; + + retval->NumImportExport = + ((int)sense_page->NumImportExportHi << 8) + sense_page->NumImportExportLo; +@@ -491,7 +491,7 @@ ElementModeSense_T *ReadAssignmentPage(DEVICE_TYPE Med + ((int)sense_page->NumDataTransferHi << 8) + sense_page->NumDataTransferLo; + + /* allocate a couple spares 'cause some HP autochangers and maybe others +- * don't properly report the robotics arm(s) count here... ++ * don't properly report the robotics arm(s) count here... + */ + retval->NumElements = + retval->NumStorage+retval->NumImportExport + +@@ -546,7 +546,7 @@ static ElementStatus_T *AllocateElementData(ElementMod + + retval->DataTransferElementAddress = + (int *)xzmalloc(sizeof(int) * (mode_sense->NumDataTransfer + 1)); +- retval->DataTransferElementSourceStorageElementNumber = ++ retval->DataTransferElementSourceStorageElementNumber = + (int *)xzmalloc(sizeof(int) * (mode_sense->NumDataTransfer + 1)); + retval->DataTransferPrimaryVolumeTag = + (barcode *)xzmalloc(sizeof(barcode) * (mode_sense->NumDataTransfer + 1)); +@@ -559,11 +559,11 @@ static ElementStatus_T *AllocateElementData(ElementMod + retval->StorageElementAddress = + (int *)xzmalloc(sizeof(int) * (mode_sense->NumStorage + 1)); + retval->StorageElementIsImportExport = +- (boolean *)xzmalloc(sizeof(boolean) * (mode_sense->NumStorage + 1)); ++ (bool *)xzmalloc(sizeof(bool) * (mode_sense->NumStorage + 1)); + retval->StorageElementFull = +- (boolean *)xzmalloc(sizeof(boolean) * (mode_sense->NumStorage + 1)); ++ (bool *)xzmalloc(sizeof(bool) * (mode_sense->NumStorage + 1)); + retval->DataTransferElementFull = +- (boolean *)xzmalloc(sizeof(boolean) * (mode_sense->NumDataTransfer + 1)); ++ (bool *)xzmalloc(sizeof(bool) * (mode_sense->NumDataTransfer + 1)); + + return retval; /* sigh! */ + } +@@ -584,14 +584,14 @@ void copy_barcode(unsigned char *src, unsigned char *d + + dest++; + } +- *dest = 0; /* null-terminate */ ++ *dest = 0; /* null-terminate */ + } + + /* This #%!@# routine has more parameters than I can count! */ + static unsigned char *SendElementStatusRequestActual( + DEVICE_TYPE MediumChangerFD, + RequestSense_T *RequestSense, +- Inquiry_T *inquiry_info, ++ Inquiry_T *inquiry_info, + SCSI_Flags_T *flags, + int ElementStart, + int NumElements, +@@ -599,14 +599,14 @@ static unsigned char *SendElementStatusRequestActual( + ) + { + CDB_T CDB; +- boolean is_attached = false; ++ bool is_attached = false; + + unsigned char *DataBuffer; /* size of data... */ + + #ifdef HAVE_GET_ID_LUN + scsi_id_t *scsi_id; + #endif +- if (inquiry_info->MChngr && ++ if (inquiry_info->MChngr && + inquiry_info->PeripheralDeviceType != MEDIUM_CHANGER_TYPE) + { + is_attached = true; +@@ -614,7 +614,7 @@ static unsigned char *SendElementStatusRequestActual( + + if (flags->no_attached) + { +- /* override, sigh */ ++ /* override, sigh */ + is_attached = false; + } + +@@ -630,11 +630,11 @@ static unsigned char *SendElementStatusRequestActual( + + if (is_attached) + { +- CDB[0] = 0xB4; /* whoops, READ_ELEMENT_STATUS_ATTACHED! */ ++ CDB[0] = 0xB4; /* whoops, READ_ELEMENT_STATUS_ATTACHED! */ + } + + #ifdef HAVE_GET_ID_LUN +- CDB[1] = (scsi_id->lun << 5) | ((flags->no_barcodes) ? ++ CDB[1] = (scsi_id->lun << 5) | ((flags->no_barcodes) ? + 0 : 0x10) | flags->elementtype; /* Lun + VolTag + Type code */ + free(scsi_id); + #else +@@ -674,7 +674,7 @@ static unsigned char *SendElementStatusRequestActual( + + /* + First see if we have sense key of 'illegal request', +- additional sense code of '24', additional sense qualfier of ++ additional sense code of '24', additional sense qualfier of + '0', and field in error of '4'. This means that we issued a request + w/bar code reader and did not have one, thus must re-issue the request + w/out barcode :-(. +@@ -719,14 +719,14 @@ static unsigned char *SendElementStatusRequestActual( + PrintRequestSense(RequestSense); /* see what it sez :-(. */ + fprintf(stderr,"Data:\n"); + PrintHex(2, DataBuffer, 40); +-#endif ++#endif + return DataBuffer; /* we succeeded! */ + } + + + unsigned char *SendElementStatusRequest(DEVICE_TYPE MediumChangerFD, + RequestSense_T *RequestSense, +- Inquiry_T *inquiry_info, ++ Inquiry_T *inquiry_info, + SCSI_Flags_T *flags, + int ElementStart, + int NumElements, +@@ -747,7 +747,7 @@ unsigned char *SendElementStatusRequest(DEVICE_TYPE Me + /* + One weird loader wants either 8 or BYTE_COUNT_OF_REPORT + values for the ALLOCATION_LENGTH. Give it what it wants +- if we get an Sense Key of 05 Illegal Request with a ++ if we get an Sense Key of 05 Illegal Request with a + CDB position of 7 as the field in error. + */ + +@@ -879,7 +879,7 @@ static void ParseElementStatus( int *EmptyStorageEleme + { + /* TransportElementDescriptor = + (TransportElementDescriptor_T *) DataPointer; */ +- memcpy(&TEBuf, DataPointer, ++ memcpy(&TEBuf, DataPointer, + (TransportElementDescriptorLength <= sizeof(TEBuf)) ? + TransportElementDescriptorLength : + sizeof(TEBuf)); +@@ -906,7 +906,7 @@ static void ParseElementStatus( int *EmptyStorageEleme + case MediumTransportElement: + ElementStatus->TransportElementAddress = BigEndian16(TransportElementDescriptor->ElementAddress); + #ifdef DEBUG +- fprintf(stderr,"TransportElementAddress=%d\n",ElementStatus->TransportElementAddress); ++ fprintf(stderr,"TransportElementAddress=%d\n",ElementStatus->TransportElementAddress); + #endif + break; + +@@ -933,7 +933,7 @@ static void ParseElementStatus( int *EmptyStorageEleme + ElementStatus->StorageElementFull[ImportExportIndex] = + TransportElementDescriptor->Full; + +- if ( (TransportElementDescriptorLength > 11) && ++ if ( (TransportElementDescriptorLength > 11) && + (ElementStatusPage->VolBits & E2_AVOLTAG)) + { + copy_barcode(TransportElementDescriptor->AlternateVolumeTag, +@@ -942,8 +942,8 @@ static void ParseElementStatus( int *EmptyStorageEleme + else + { + ElementStatus->AlternateVolumeTag[ImportExportIndex][0] = 0; /* null string. */; +- } +- if ((TransportElementDescriptorLength > 11) && ++ } ++ if ((TransportElementDescriptorLength > 11) && + (ElementStatusPage->VolBits & E2_PVOLTAG)) + { + copy_barcode(TransportElementDescriptor->PrimaryVolumeTag, +@@ -964,8 +964,8 @@ static void ParseElementStatus( int *EmptyStorageEleme + fprintf(stderr,"StorageElementCount=%d ElementAddress = %d ",ElementStatus->StorageElementCount,BigEndian16(TransportElementDescriptor->ElementAddress)); + #endif + /* ATL/Exabyte kludge -- skip slots that aren't installed :-( */ +- if (TransportElementDescriptor->AdditionalSenseCode==0x83 && +- TransportElementDescriptor->AdditionalSenseCodeQualifier==0x02) ++ if (TransportElementDescriptor->AdditionalSenseCode==0x83 && ++ TransportElementDescriptor->AdditionalSenseCodeQualifier==0x02) + continue; + + ElementStatus->StorageElementAddress[ElementStatus->StorageElementCount] = +@@ -983,7 +983,7 @@ static void ParseElementStatus( int *EmptyStorageEleme + ElementStatus->StorageElementCount; /* slot idx. */ + /* ElementStatus->StorageElementAddress[ElementStatus->StorageElementCount]; */ + } +- if ((TransportElementDescriptorLength > 11) && ++ if ((TransportElementDescriptorLength > 11) && + (ElementStatusPage->VolBits & E2_AVOLTAG)) + { + copy_barcode(TransportElementDescriptor->AlternateVolumeTag, +@@ -992,8 +992,8 @@ static void ParseElementStatus( int *EmptyStorageEleme + else + { + ElementStatus->AlternateVolumeTag[ElementStatus->StorageElementCount][0]=0; /* null string. */; +- } +- if ((TransportElementDescriptorLength > 11) && ++ } ++ if ((TransportElementDescriptorLength > 11) && + (ElementStatusPage->VolBits & E2_PVOLTAG)) + { + copy_barcode(TransportElementDescriptor->PrimaryVolumeTag, +@@ -1006,9 +1006,9 @@ static void ParseElementStatus( int *EmptyStorageEleme + + ElementStatus->StorageElementCount++; + /* +- Note that the original mtx had no check here for ++ Note that the original mtx had no check here for + buffer overflow, though some drives might mistakingly +- do one... ++ do one... + */ + + if (ElementStatus->StorageElementCount > mode_sense->NumStorage) +@@ -1030,33 +1030,33 @@ static void ParseElementStatus( int *EmptyStorageEleme + report that they have a 2nd tape drive when they don't. We + could generalize this in an ideal world, but my attempt to + do so failed with dual-drive Exabyte tape libraries that +- *DID* have the second drive. Sigh. ++ *DID* have the second drive. Sigh. + */ +- if (TransportElementDescriptor->AdditionalSenseCode==0x83 && ++ if (TransportElementDescriptor->AdditionalSenseCode==0x83 && + TransportElementDescriptor->AdditionalSenseCodeQualifier==0x04) + { + continue; + } + + /* generalize it. Does it work? Let's try it! */ +- /* ++ /* + No, dammit, following does not work on dual-drive Exabyte + 'cause if a tape is in the drive, it sets the AdditionalSense + code to something (sigh). + */ + /* if (TransportElementDescriptor->AdditionalSenseCode!=0) + continue; +- */ ++ */ + + ElementStatus->DataTransferElementAddress[ElementStatus->DataTransferElementCount] = + BigEndian16(TransportElementDescriptor->ElementAddress); +- ElementStatus->DataTransferElementFull[ElementStatus->DataTransferElementCount] = ++ ElementStatus->DataTransferElementFull[ElementStatus->DataTransferElementCount] = + TransportElementDescriptor->Full; + ElementStatus->DataTransferElementSourceStorageElementNumber[ElementStatus->DataTransferElementCount] = + BigEndian16(TransportElementDescriptor->SourceStorageElementAddress); + + #if DEBUG +- fprintf(stderr, "%d: ElementAddress = %d, Full = %d, SourceElement = %d\n", ++ fprintf(stderr, "%d: ElementAddress = %d, Full = %d, SourceElement = %d\n", + ElementStatus->DataTransferElementCount, + ElementStatus->DataTransferElementAddress[ElementStatus->DataTransferElementCount], + ElementStatus->DataTransferElementFull[ElementStatus->DataTransferElementCount], +@@ -1115,17 +1115,17 @@ static void ParseElementStatus( int *EmptyStorageEleme + /* + * We no longer do the funky trick to figure out ALLOCATION_LENGTH. + * Instead, we use the SCSI Generic command rather than SEND_SCSI_COMMAND +- * under Linux, which gets around the @#%@ 4k buffer size in Linux. ++ * under Linux, which gets around the @#%@ 4k buffer size in Linux. + * We still have the restriction that Linux cuts off the last two + * bytes of the SENSE DATA (Q#@$%@#$^ Linux!). Which means that the +- * verbose widget won't work :-(. +- ++ * verbose widget won't work :-(. ++ + * We now look for that "attached" bit in the inquiry_info to see whether + * to use READ_ELEMENT_ATTACHED or plain old READ_ELEMENT. In addition, we + * look at the device type in the inquiry_info to see whether it is a media + * changer or tape device, and if it's a media changer device, we ignore the + * attached bit (one beta tester found an old 4-tape DAT changer that set +- * the attached bit for both the tape device AND the media changer device). ++ * the attached bit for both the tape device AND the media changer device). + + */ + +@@ -1139,7 +1139,7 @@ ElementStatus_T *ReadElementStatus(DEVICE_TYPE MediumC + int *EmptyStorageElementAddress; /* [MAX_STORAGE_ELEMENTS]; */ + + int empty_idx = 0; +- boolean is_attached = false; ++ bool is_attached = false; + int i,j; + + ElementModeSense_T *mode_sense = NULL; +@@ -1151,7 +1151,7 @@ ElementStatus_T *ReadElementStatus(DEVICE_TYPE MediumC + + if (flags->no_attached) + { +- /* override, sigh */ ++ /* override, sigh */ + is_attached = false; + } + +@@ -1181,7 +1181,7 @@ ElementStatus_T *ReadElementStatus(DEVICE_TYPE MediumC + ElementStatus->DataTransferElementCount = 0; + + /* first, allocate some empty storage stuff: Note that we pass this +- * down to ParseElementStatus (sigh!) ++ * down to ParseElementStatus (sigh!) + */ + + EmptyStorageElementAddress = (int *)xzmalloc((mode_sense->NumStorage+1)*sizeof(int)); +@@ -1198,7 +1198,7 @@ ElementStatus_T *ReadElementStatus(DEVICE_TYPE MediumC + for (i = 0; i < mode_sense->NumDataTransfer; i++) + { + /* initialize them to an illegal # so that we can fix later... */ +- ElementStatus->DataTransferElementSourceStorageElementNumber[i] = -1; ++ ElementStatus->DataTransferElementSourceStorageElementNumber[i] = -1; + } + + if (flags->querytype == MTX_ELEMENTSTATUS_ORIGINAL) +@@ -1224,7 +1224,7 @@ ElementStatus_T *ReadElementStatus(DEVICE_TYPE MediumC + PrintRequestSense(RequestSense); + #endif + FreeElementData(ElementStatus); +- return NULL; ++ return NULL; + } + + #ifdef DEBUG +@@ -1294,7 +1294,7 @@ ElementStatus_T *ReadElementStatus(DEVICE_TYPE MediumC + PrintRequestSense(RequestSense); + #endif + FreeElementData(ElementStatus); +- return NULL; ++ return NULL; + } + + #ifdef DEBUG +@@ -1309,7 +1309,7 @@ ElementStatus_T *ReadElementStatus(DEVICE_TYPE MediumC + + /* grr, damned brain dead HP doesn't report that it has any! */ + if (!mode_sense->NumMediumTransport) +- { ++ { + ElementStatus->TransportElementAddress = 0; /* default it sensibly :-(. */ + } + else +@@ -1333,8 +1333,8 @@ ElementStatus_T *ReadElementStatus(DEVICE_TYPE MediumC + PrintRequestSense(RequestSense); + #endif + FreeElementData(ElementStatus); +- return NULL; +- } ++ return NULL; ++ } + #ifdef DEBUG + fprintf(stderr,"Parsing robot arm data\n"); + #endif +@@ -1352,8 +1352,8 @@ ElementStatus_T *ReadElementStatus(DEVICE_TYPE MediumC + fprintf(stderr,"Using alternative element status polling method (all elements)\n"); + #endif + /* ----------------- ALL Elements ---------------------- */ +- /* Just keep asking for elements till no more are returned +- - increment our starting address as we go acording to the ++ /* Just keep asking for elements till no more are returned ++ - increment our starting address as we go acording to the + number of elements returned from the last call + */ + +@@ -1370,7 +1370,7 @@ ElementStatus_T *ReadElementStatus(DEVICE_TYPE MediumC + mode_sense->MaxReadElementStatusData); + if (!DataBuffer) + { +- if (RequestSense->AdditionalSenseCode == 0x21 && ++ if (RequestSense->AdditionalSenseCode == 0x21 && + RequestSense->AdditionalSenseCodeQualifier == 0x01) + { + /* Error is invalid element address, we've probably just hit the end */ +@@ -1379,8 +1379,8 @@ ElementStatus_T *ReadElementStatus(DEVICE_TYPE MediumC + + /* darn. Free up stuff and return. */ + FreeElementData(ElementStatus); +- return NULL; +- } ++ return NULL; ++ } + + nLastEl = nNextEl; + +@@ -1409,7 +1409,7 @@ ElementStatus_T *ReadElementStatus(DEVICE_TYPE MediumC + * + * Pass1: + * Translate from raw element # to our translated # (if possible). +- * First, check the SourceStorageElementNumbers against the list of ++ * First, check the SourceStorageElementNumbers against the list of + * filled slots. If the slots indicated are empty, we accept that list as + * valid. Otherwise decide the SourceStorageElementNumbers are invalid. + * +@@ -1418,7 +1418,7 @@ ElementStatus_T *ReadElementStatus(DEVICE_TYPE MediumC + * then we must search for free slots, and assign SourceStorageElementNumbers + * to those free slots. We happen to already built a list of free + * slots as part of the process of reading the storage element numbers +- * from the tape. So that's easy enough to do! ++ * from the tape. So that's easy enough to do! + */ + + #ifdef DEBUG_TAPELIST +@@ -1434,7 +1434,7 @@ ElementStatus_T *ReadElementStatus(DEVICE_TYPE MediumC + + /* + * Now we re-assign origin slots if the "real" origin slot +- * is obviously defective: ++ * is obviously defective: + */ + /* pass one: */ + for (i = 0; i < ElementStatus->DataTransferElementCount; i++) +@@ -1472,12 +1472,12 @@ ElementStatus_T *ReadElementStatus(DEVICE_TYPE MediumC + * drives will be assigned a -1 (see the initialization loop for + * EmptyStorageElementAddress above), which will be reported as "slot 0" + * by the user interface. This is an invalid value, but more useful for us +- * to have than just crapping out here :-(. ++ * to have than just crapping out here :-(. + */ + empty_idx=0; + for (i = 0; i < ElementStatus->DataTransferElementCount; i++) + { +- if (ElementStatus->DataTransferElementFull[i] && ++ if (ElementStatus->DataTransferElementFull[i] && + ElementStatus->DataTransferElementSourceStorageElementNumber[i] < 0) + { + #ifdef DEBUG_TAPELIST +@@ -1529,7 +1529,7 @@ RequestSense_T *PositionElement(DEVICE_TYPE MediumChan + + /* Now the actual media movement routine! */ + RequestSense_T *MoveMedium( DEVICE_TYPE MediumChangerFD, int SourceAddress, +- int DestinationAddress, ++ int DestinationAddress, + ElementStatus_T *ElementStatus, + Inquiry_T *inquiry_info, SCSI_Flags_T *flags) + { +@@ -1632,7 +1632,7 @@ RequestSense_T *ExchangeMedium( DEVICE_TYPE MediumChan + + #ifdef DEBUG_EXCHANGE + dump_cdb(&CDB,12); +-#endif ++#endif + + if (SCSI_ExecuteCommand(MediumChangerFD, Output, &CDB, 12, + NULL, 0, RequestSense) != 0) +@@ -1676,8 +1676,8 @@ RequestSense_T *Erase(DEVICE_TYPE MediumChangerFD) + return NULL; /* Success! */ + } + +-/* Routine to send an LOAD/UNLOAD from the MMC/SSC spec to a device. +- * For tapes and changers this can be used either to eject a tape ++/* Routine to send an LOAD/UNLOAD from the MMC/SSC spec to a device. ++ * For tapes and changers this can be used either to eject a tape + * or to eject a magazine (on some Seagate changers, when sent to LUN 1 ). + * For CD/DVDs this is used to Load or Unload a disc which is required by + * some media changers. +@@ -1707,8 +1707,8 @@ int LoadUnload(DEVICE_TYPE fd, int bLoad) + return 0; /* did do! */ + } + +-/* Routine to send an START/STOP from the MMC/SSC spec to a device. +- * For tape drives this may be required prior to using the changer ++/* Routine to send an START/STOP from the MMC/SSC spec to a device. ++ * For tape drives this may be required prior to using the changer + * Load or Unload commands. + * For CD/DVD drives this is used to Load or Unload a disc which may be + * required by some media changers. +@@ -1732,9 +1732,9 @@ int StartStop(DEVICE_TYPE fd, int bStart) + return 0; /* did do! */ + } + +-/* Routine to send a LOCK/UNLOCK from the SSC/MMC spec to a device. ++/* Routine to send a LOCK/UNLOCK from the SSC/MMC spec to a device. + * This can be used to prevent or allow the Tape or CD/DVD from being +- * removed. ++ * removed. + */ + + int LockUnlock(DEVICE_TYPE fd, int bLock) +@@ -1862,7 +1862,7 @@ void PrintRequestSense(RequestSense_T *RequestSense) + fprintf(stderr, "mtx: Request Sense: Valid Residual=%s\n", RequestSense->Valid ? Yes : No); + + if (RequestSense->ErrorCode == 0x70) +- { ++ { + msg = "Current" ; + } + else if (RequestSense->ErrorCode == 0x71) |