aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMuhammad Moinur Rahman <bofh@FreeBSD.org>2023-06-08 15:28:56 +0000
committerMuhammad Moinur Rahman <bofh@FreeBSD.org>2023-06-08 15:30:56 +0000
commit34315a4bc087544cf809bcd96499b7a18c877163 (patch)
tree355dd71c4f6a8af08c61e09b44b7d1b52710c71b
parentd05a00a5b05d8c5e803f593330d8841198662a93 (diff)
downloadports-34315a4bc087544cf809bcd96499b7a18c877163.tar.gz
ports-34315a4bc087544cf809bcd96499b7a18c877163.zip
misc/mtx: Fix build on llvm15
-rw-r--r--misc/mtx/Makefile10
-rw-r--r--misc/mtx/files/extra-patch-FreeBSD_14923
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)