From d94b7074894fa562446763e83c05924677d4badf Mon Sep 17 00:00:00 2001 From: Andy McFadden Date: Sun, 4 Jan 2015 18:20:59 -0800 Subject: [PATCH] Use more integers with explicit widths Updated some structs and a few DiskImg APIs, primarily file type, aux type, and access flags. --- app/ACUArchive.h | 44 ++++++++++++------------- app/GenericArchive.h | 20 ++++++------ diskimg/DOS33.cpp | 8 ++--- diskimg/DiskImg.h | 10 +++--- diskimg/DiskImgDetail.h | 72 ++++++++++++++++++++--------------------- diskimg/Gutenberg.cpp | 2 +- diskimg/HFS.cpp | 10 +++--- diskimg/Pascal.cpp | 6 ++-- diskimg/ProDOS.cpp | 4 +-- diskimg/RDOS.cpp | 4 +-- 10 files changed, 90 insertions(+), 90 deletions(-) diff --git a/app/ACUArchive.h b/app/ACUArchive.h index 5480bbc..1c41b9f 100644 --- a/app/ACUArchive.h +++ b/app/ACUArchive.h @@ -186,10 +186,10 @@ private: * The header at the front of an ACU archive. */ typedef struct AcuMasterHeader { - unsigned short fileCount; - unsigned short unknown1; // 0x01 00 -- might be "version 1?" - unsigned char fZink[6]; // "fZink", low ASCII - unsigned char unknown2[11]; // 0x01 36 00 00 00 00 00 00 00 00 dd + uint16_t fileCount; + uint16_t unknown1; // 0x01 00 -- might be "version 1?" + uint8_t fZink[6]; // "fZink", low ASCII + uint8_t unknown2[11]; // 0x01 36 00 00 00 00 00 00 00 00 dd } AcuMasterHeader; /* @@ -203,24 +203,24 @@ private: struct AcuFileEntry; friend struct AcuFileEntry; typedef struct AcuFileEntry { - unsigned char compressionType; - unsigned short dataChecksum; // ?? - unsigned short blockCount; // total blocks req'd to hold file - unsigned long dataStorageLen; // length of data within archive - unsigned short access; - unsigned short fileType; - unsigned long auxType; - unsigned char storageType; - unsigned long dataEof; - unsigned short prodosModDate; - unsigned short prodosModTime; - NuDateTime modWhen; // computed from previous two fields - unsigned short prodosCreateDate; - unsigned short prodosCreateTime; - NuDateTime createWhen; // computed from previous two fields - unsigned short fileNameLen; - unsigned short headerChecksum; // ?? - char fileName[kAcuMaxFileName+1]; + uint8_t compressionType; + uint16_t dataChecksum; // ?? + uint16_t blockCount; // total blocks req'd to hold file + uint32_t dataStorageLen; // length of data within archive + uint16_t access; + uint16_t fileType; + uint32_t auxType; + uint8_t storageType; + uint32_t dataEof; + uint16_t prodosModDate; + uint16_t prodosModTime; + NuDateTime modWhen; // computed from previous two fields + uint16_t prodosCreateDate; + uint16_t prodosCreateTime; + NuDateTime createWhen; // computed from previous two fields + uint16_t fileNameLen; + uint16_t headerChecksum; // ?? + char fileName[kAcuMaxFileName+1]; // ASCII // possibilities for mystery fields: // - OS type (note ProDOS is $00) diff --git a/app/GenericArchive.h b/app/GenericArchive.h index f685999..f324865 100644 --- a/app/GenericArchive.h +++ b/app/GenericArchive.h @@ -202,12 +202,12 @@ public: char GetFssep(void) const { return fFssep; } void SetFssep(char fssep) { fFssep = fssep; } - long GetFileType(void) const { return fFileType; } - void SetFileType(long type) { fFileType = type; } - long GetAuxType(void) const { return fAuxType; } - void SetAuxType(long type) { fAuxType = type; } - long GetAccess(void) const { return fAccess; } - void SetAccess(long access) { fAccess = access; } + uint32_t GetFileType(void) const { return fFileType; } + void SetFileType(uint32_t type) { fFileType = type; } + uint32_t GetAuxType(void) const { return fAuxType; } + void SetAuxType(uint32_t type) { fAuxType = type; } + uint32_t GetAccess(void) const { return fAccess; } + void SetAccess(uint32_t access) { fAccess = access; } time_t GetCreateWhen(void) const { return fCreateWhen; } void SetCreateWhen(time_t when) { fCreateWhen = when; } time_t GetModWhen(void) const { return fModWhen; } @@ -300,11 +300,11 @@ private: const WCHAR* fFileName; // points within fPathName const WCHAR* fFileNameExtension; // points within fPathName char fFssep; - WCHAR* fSubVolName; // sub-volume prefix, or NULL if none + WCHAR* fSubVolName; // sub-volume prefix, or NULL if none WCHAR* fDisplayName; // combination of sub-vol and path - long fFileType; - long fAuxType; - long fAccess; + uint32_t fFileType; + uint32_t fAuxType; + uint32_t fAccess; time_t fCreateWhen; time_t fModWhen; RecordKind fRecordKind; // forked file, disk image, ?? diff --git a/diskimg/DOS33.cpp b/diskimg/DOS33.cpp index 0b0fa8d..e56db8d 100644 --- a/diskimg/DOS33.cpp +++ b/diskimg/DOS33.cpp @@ -2164,8 +2164,8 @@ bail: * * Changing the aux type is only allowed for BIN files. */ -DIError DiskFSDOS33::SetFileInfo(A2File* pGenericFile, long fileType, long auxType, - long accessFlags) +DIError DiskFSDOS33::SetFileInfo(A2File* pGenericFile, uint32_t fileType, + uint32_t auxType, uint32_t accessFlags) { DIError dierr = kDIErrNone; A2FileDOS* pFile = (A2FileDOS*) pGenericFile; @@ -2410,7 +2410,7 @@ A2FileDOS::~A2FileDOS(void) * because I can't find any information on the REL format. However, Copy ][+ * does convert to REL, and the Binary ][ standard says I should as well. */ -long A2FileDOS::GetFileType(void) const +uint32_t A2FileDOS::GetFileType(void) const { long retval; @@ -2501,7 +2501,7 @@ long A2FileDOS::GetFileType(void) const /* * Match the ProDOS equivalents of "locked" and "unlocked". */ -long A2FileDOS::GetAccess(void) const +uint32_t A2FileDOS::GetAccess(void) const { if (fLocked) return DiskFS::kFileAccessLocked; // 0x01 read diff --git a/diskimg/DiskImg.h b/diskimg/DiskImg.h index 398a74e..3a25d98 100644 --- a/diskimg/DiskImg.h +++ b/diskimg/DiskImg.h @@ -1208,8 +1208,8 @@ public: /* * Alter file attributes. */ - virtual DIError SetFileInfo(A2File* pFile, long fileType, long auxType, - long accessFlags) + virtual DIError SetFileInfo(A2File* pFile, uint32_t fileType, + uint32_t auxType, uint32_t accessFlags) { return kDIErrNotSupported; } /* @@ -1472,9 +1472,9 @@ public: virtual const char* GetFileName(void) const = 0; // name of this file virtual const char* GetPathName(void) const = 0; // full path virtual char GetFssep(void) const = 0; // '\0' if none - virtual long GetFileType(void) const = 0; - virtual long GetAuxType(void) const = 0; - virtual long GetAccess(void) const = 0; // ProDOS-style perms + virtual uint32_t GetFileType(void) const = 0; + virtual uint32_t GetAuxType(void) const = 0; + virtual uint32_t GetAccess(void) const = 0; // ProDOS-style perms virtual time_t GetCreateWhen(void) const = 0; virtual time_t GetModWhen(void) const = 0; virtual di_off_t GetDataLength(void) const = 0; // len of data fork diff --git a/diskimg/DiskImgDetail.h b/diskimg/DiskImgDetail.h index 70fc927..6c3d380 100644 --- a/diskimg/DiskImgDetail.h +++ b/diskimg/DiskImgDetail.h @@ -1244,8 +1244,8 @@ public: virtual DIError CreateFile(const CreateParms* pParms, A2File** ppNewFile) override; virtual DIError DeleteFile(A2File* pFile) override; virtual DIError RenameFile(A2File* pFile, const char* newName) override; - virtual DIError SetFileInfo(A2File* pFile, long fileType, long auxType, - long accessFlags) override; + virtual DIError SetFileInfo(A2File* pFile, uint32_t fileType, + uint32_t auxType, uint32_t accessFlags) override; virtual DIError RenameVolume(const char* newName) override; /* @@ -1449,9 +1449,9 @@ public: virtual const char* GetFileName(void) const override { return fFileName; } virtual const char* GetPathName(void) const override { return fFileName; } virtual char GetFssep(void) const override { return '\0'; } - virtual long GetFileType(void) const override; - virtual long GetAuxType(void) const override { return fAuxType; } - virtual long GetAccess(void) const override; + virtual uint32_t GetFileType(void) const override; + virtual uint32_t GetAuxType(void) const override { return fAuxType; } + virtual uint32_t GetAccess(void) const override; virtual time_t GetCreateWhen(void) const override { return 0; } virtual time_t GetModWhen(void) const override { return 0; } virtual di_off_t GetDataLength(void) const override { return fLength; } @@ -1560,8 +1560,8 @@ public: A2File** ppNewFile) override; virtual DIError DeleteFile(A2File* pFile) override; virtual DIError RenameFile(A2File* pFile, const char* newName) override; - virtual DIError SetFileInfo(A2File* pFile, long fileType, long auxType, - long accessFlags) override; + virtual DIError SetFileInfo(A2File* pFile, uint32_t fileType, + uint32_t auxType, uint32_t accessFlags) override; virtual DIError RenameVolume(const char* newName) override; // assorted constants @@ -1819,9 +1819,9 @@ public: virtual const char* GetFileName(void) const override { return fDirEntry.fileName; } virtual const char* GetPathName(void) const override { return fPathName; } virtual char GetFssep(void) const override { return kFssep; } - virtual long GetFileType(void) const override { return fDirEntry.fileType; } - virtual long GetAuxType(void) const override { return fDirEntry.auxType; } - virtual long GetAccess(void) const override { return fDirEntry.access; } + virtual uint32_t GetFileType(void) const override { return fDirEntry.fileType; } + virtual uint32_t GetAuxType(void) const override { return fDirEntry.auxType; } + virtual uint32_t GetAccess(void) const override { return fDirEntry.access; } virtual time_t GetCreateWhen(void) const override; virtual time_t GetModWhen(void) const override; virtual di_off_t GetDataLength(void) const override { @@ -1986,8 +1986,8 @@ public: virtual DIError CreateFile(const CreateParms* pParms, A2File** ppNewFile) override; virtual DIError DeleteFile(A2File* pFile) override; virtual DIError RenameFile(A2File* pFile, const char* newName) override; - virtual DIError SetFileInfo(A2File* pFile, long fileType, long auxType, - long accessFlags) override; + virtual DIError SetFileInfo(A2File* pFile, uint32_t fileType, + uint32_t auxType, uint32_t accessFlags) override; virtual DIError RenameVolume(const char* newName) override; static bool IsValidVolumeName(const char* name); @@ -2119,9 +2119,9 @@ public: virtual const char* GetFileName(void) const override { return fFileName; } virtual const char* GetPathName(void) const override { return fFileName; } virtual char GetFssep(void) const override { return '\0'; } - virtual long GetFileType(void) const override; - virtual long GetAuxType(void) const override { return 0; } - virtual long GetAccess(void) const override { return DiskFS::kFileAccessUnlocked; } + virtual uint32_t GetFileType(void) const override; + virtual uint32_t GetAuxType(void) const override { return 0; } + virtual uint32_t GetAccess(void) const override { return DiskFS::kFileAccessUnlocked; } virtual time_t GetCreateWhen(void) const override { return 0; } virtual time_t GetModWhen(void) const override; virtual di_off_t GetDataLength(void) const override { return fLength; } @@ -2329,9 +2329,9 @@ public: virtual const char* GetFileName(void) const override { return fFileName; } virtual const char* GetPathName(void) const override { return fFileName; } virtual char GetFssep(void) const override { return '\0'; } - virtual long GetFileType(void) const override { return 0; } - virtual long GetAuxType(void) const override { return 0; } - virtual long GetAccess(void) const override { + virtual uint32_t GetFileType(void) const override { return 0; } + virtual uint32_t GetAuxType(void) const override { return 0; } + virtual uint32_t GetAccess(void) const override { if (fReadOnly) return DiskFS::kFileAccessLocked; else @@ -2494,9 +2494,9 @@ public: virtual const char* GetFileName(void) const override { return fFileName; } virtual const char* GetPathName(void) const override { return fFileName; } virtual char GetFssep(void) const override { return '\0'; } - virtual long GetFileType(void) const override; - virtual long GetAuxType(void) const override { return fLoadAddr; } - virtual long GetAccess(void) const override { return DiskFS::kFileAccessUnlocked; } + virtual uint32_t GetFileType(void) const override; + virtual uint32_t GetAuxType(void) const override { return fLoadAddr; } + virtual uint32_t GetAccess(void) const override { return DiskFS::kFileAccessUnlocked; } virtual time_t GetCreateWhen(void) const override { return 0; } virtual time_t GetModWhen(void) const override { return 0; }; virtual di_off_t GetDataLength(void) const override { return fLength; } @@ -2573,8 +2573,8 @@ public: virtual DIError CreateFile(const CreateParms* pParms, A2File** ppNewFile) override; virtual DIError DeleteFile(A2File* pFile) override; virtual DIError RenameFile(A2File* pFile, const char* newName) override; - virtual DIError SetFileInfo(A2File* pFile, long fileType, long auxType, - long accessFlags) override; + virtual DIError SetFileInfo(A2File* pFile, uint32_t fileType, + uint32_t auxType, uint32_t accessFlags) override; virtual DIError RenameVolume(const char* newName); #endif @@ -2743,9 +2743,9 @@ public: virtual const char* GetFileName(void) const override { return fFileName; } virtual const char* GetPathName(void) const override { return fPathName; } virtual char GetFssep(void) const override { return kFssep; } - virtual long GetFileType(void) const override; - virtual long GetAuxType(void) const override; - virtual long GetAccess(void) const override { return fAccess; } + virtual uint32_t GetFileType(void) const override; + virtual uint32_t GetAuxType(void) const override; + virtual uint32_t GetAccess(void) const override { return fAccess; } virtual time_t GetCreateWhen(void) const override { return fCreateWhen; } virtual time_t GetModWhen(void) const override { return fModWhen; } virtual di_off_t GetDataLength(void) const override { return fDataLength; } @@ -2789,21 +2789,21 @@ public: virtual void SetParent(A2File* pParent) override { fpParent = pParent; } virtual A2File* GetParent(void) const override { return fpParent; } char* GetLibHFSPathName(void) const; - static void ConvertTypeToHFS(long fileType, long auxType, + static void ConvertTypeToHFS(uint32_t fileType, uint32_t auxType, char* pType, char* pCreator); #endif bool fIsDir; bool fIsVolumeDir; - long fType; - long fCreator; + uint32_t fType; + uint32_t fCreator; char fFileName[kMaxFileName+1]; char* fPathName; di_off_t fDataLength; di_off_t fRsrcLength; time_t fCreateWhen; time_t fModWhen; - long fAccess; + uint32_t fAccess; private: #ifdef EXCISE_GPL_CODE @@ -3009,9 +3009,9 @@ public: virtual const char* GetFileName(void) const override { return fFileName; } virtual const char* GetPathName(void) const override { return fFileName; } virtual char GetFssep(void) const override { return '\0'; } - virtual long GetFileType(void) const override; - virtual long GetAuxType(void) const override { return fAuxType; } - virtual long GetAccess(void) const override { return DiskFS::kFileAccessUnlocked; } + virtual uint32_t GetFileType(void) const override; + virtual uint32_t GetAuxType(void) const override { return fAuxType; } + virtual uint32_t GetAccess(void) const override { return DiskFS::kFileAccessUnlocked; } virtual time_t GetCreateWhen(void) const override { return 0; } virtual time_t GetModWhen(void) const override { return 0; } virtual di_off_t GetDataLength(void) const override { return fLength; } @@ -3185,9 +3185,9 @@ public: virtual const char* GetFileName(void) const override { return fFileName; } virtual const char* GetPathName(void) const override { return fFileName; } virtual char GetFssep(void) const override { return '\0'; } - virtual long GetFileType(void) const override { return 0; }; - virtual long GetAuxType(void) const override { return 0; } - virtual long GetAccess(void) const override { return DiskFS::kFileAccessUnlocked; } + virtual uint32_t GetFileType(void) const override { return 0; }; + virtual uint32_t GetAuxType(void) const override { return 0; } + virtual uint32_t GetAccess(void) const override { return DiskFS::kFileAccessUnlocked; } virtual time_t GetCreateWhen(void) const override { return 0; } virtual time_t GetModWhen(void) const override { return 0; } virtual di_off_t GetDataLength(void) const override { return fLength; } diff --git a/diskimg/Gutenberg.cpp b/diskimg/Gutenberg.cpp index 6c61bb1..1dc10e6 100644 --- a/diskimg/Gutenberg.cpp +++ b/diskimg/Gutenberg.cpp @@ -427,7 +427,7 @@ A2FileGutenberg::~A2FileGutenberg(void) * Convert the filetype enum to a ProDOS type. * */ -long A2FileGutenberg::GetFileType(void) const +uint32_t A2FileGutenberg::GetFileType(void) const { return 0x04; // TXT; } diff --git a/diskimg/HFS.cpp b/diskimg/HFS.cpp index 664ed6e..dc12952 100644 --- a/diskimg/HFS.cpp +++ b/diskimg/HFS.cpp @@ -1551,8 +1551,8 @@ bail: /* * Set file attributes. */ -DIError DiskFSHFS::SetFileInfo(A2File* pGenericFile, long fileType, long auxType, - long accessFlags) +DIError DiskFSHFS::SetFileInfo(A2File* pGenericFile, uint32_t fileType, + uint32_t auxType, uint32_t accessFlags) { DIError dierr = kDIErrNone; A2FileHFS* pFile = (A2FileHFS*) pGenericFile; @@ -1653,7 +1653,7 @@ inline int FromHex(char hexVal) * equivalent, and CiderPress really doesn't need the "raw" file type. If * it becomes annoying, we can add a DiskFSParameter to control it. */ -long A2FileHFS::GetFileType(void) const +uint32_t A2FileHFS::GetFileType(void) const { if (fCreator != kPdosType) return fType; @@ -1693,7 +1693,7 @@ long A2FileHFS::GetFileType(void) const /* * If this has a ProDOS aux type, convert it. */ -long A2FileHFS::GetAuxType(void) const +uint32_t A2FileHFS::GetAuxType(void) const { if (fCreator != kPdosType) return fCreator; @@ -1762,7 +1762,7 @@ char* A2FileHFS::GetLibHFSPathName(void) const * conversions discard the file's aux type and therefore are unsuitable, * and the conversion of SRC throws away its identity. */ -/*static*/ void A2FileHFS::ConvertTypeToHFS(long fileType, long auxType, +/*static*/ void A2FileHFS::ConvertTypeToHFS(uint32_t fileType, uint32_t auxType, char* pType, char* pCreator) { if (fileType == 0x00 && auxType == 0x0000) { diff --git a/diskimg/Pascal.cpp b/diskimg/Pascal.cpp index 6eff01a..a3a4f13 100644 --- a/diskimg/Pascal.cpp +++ b/diskimg/Pascal.cpp @@ -1275,8 +1275,8 @@ bail: * but we don't allow the full range of ProDOS types. Attempting to change * to an unsupported type results in "PDA" being used. */ -DIError DiskFSPascal::SetFileInfo(A2File* pGenericFile, long fileType, long auxType, - long accessFlags) +DIError DiskFSPascal::SetFileInfo(A2File* pGenericFile, uint32_t fileType, + uint32_t auxType, uint32_t accessFlags) { DIError dierr = kDIErrNone; A2FilePascal* pFile = (A2FilePascal*) pGenericFile; @@ -1393,7 +1393,7 @@ uint8_t* DiskFSPascal::FindDirEntry(A2FilePascal* pFile) /* * Convert Pascal file type to ProDOS file type. */ -long A2FilePascal::GetFileType(void) const +uint32_t A2FilePascal::GetFileType(void) const { switch (fFileType) { case kTypeUntyped: return 0x00; // NON diff --git a/diskimg/ProDOS.cpp b/diskimg/ProDOS.cpp index 34cc352..00bc415 100644 --- a/diskimg/ProDOS.cpp +++ b/diskimg/ProDOS.cpp @@ -3607,8 +3607,8 @@ DIError DiskFSProDOS::RegeneratePathName(A2FileProDOS* pFile) * This does, of course, mean that there's no meaning in attempts to change * the file access permissions of the volume directory. */ -DIError DiskFSProDOS::SetFileInfo(A2File* pGenericFile, long fileType, - long auxType, long accessFlags) +DIError DiskFSProDOS::SetFileInfo(A2File* pGenericFile, uint32_t fileType, + uint32_t auxType, uint32_t accessFlags) { DIError dierr = kDIErrNone; A2FileProDOS* pFile = (A2FileProDOS*) pGenericFile; diff --git a/diskimg/RDOS.cpp b/diskimg/RDOS.cpp index c28a4af..e6ac8c7 100644 --- a/diskimg/RDOS.cpp +++ b/diskimg/RDOS.cpp @@ -438,9 +438,9 @@ void DiskFSRDOS::SetSectorUsage(long track, long sector, /* * Convert RDOS file type to ProDOS file type. */ -long A2FileRDOS::GetFileType(void) const +uint32_t A2FileRDOS::GetFileType(void) const { - long retval; + uint32_t retval; switch (fFileType) { case kTypeText: retval = 0x04; break; // TXT