Print checksum value for single frame files in cli with -v -l options
This commit is contained in:
+13
-3
@@ -2749,6 +2749,7 @@ typedef struct {
|
|||||||
int numSkippableFrames;
|
int numSkippableFrames;
|
||||||
int decompUnavailable;
|
int decompUnavailable;
|
||||||
int usesCheck;
|
int usesCheck;
|
||||||
|
BYTE checksum[4];
|
||||||
U32 nbFiles;
|
U32 nbFiles;
|
||||||
unsigned dictID;
|
unsigned dictID;
|
||||||
} fileInfo_t;
|
} fileInfo_t;
|
||||||
@@ -2843,8 +2844,8 @@ FIO_analyzeFrames(fileInfo_t* info, FILE* const srcFile)
|
|||||||
int const contentChecksumFlag = (frameHeaderDescriptor & (1 << 2)) >> 2;
|
int const contentChecksumFlag = (frameHeaderDescriptor & (1 << 2)) >> 2;
|
||||||
if (contentChecksumFlag) {
|
if (contentChecksumFlag) {
|
||||||
info->usesCheck = 1;
|
info->usesCheck = 1;
|
||||||
ERROR_IF(fseek(srcFile, 4, SEEK_CUR) != 0,
|
ERROR_IF(fread(info->checksum, 1, 4, srcFile) != 4,
|
||||||
info_frame_error, "Error: could not skip past checksum");
|
info_frame_error, "Error: could not read checksum");
|
||||||
} }
|
} }
|
||||||
info->numActualFrames++;
|
info->numActualFrames++;
|
||||||
}
|
}
|
||||||
@@ -2936,7 +2937,16 @@ displayInfo(const char* inFileName, const fileInfo_t* info, int displayLevel)
|
|||||||
(unsigned long long)info->decompressedSize);
|
(unsigned long long)info->decompressedSize);
|
||||||
DISPLAYOUT("Ratio: %.4f\n", ratio);
|
DISPLAYOUT("Ratio: %.4f\n", ratio);
|
||||||
}
|
}
|
||||||
DISPLAYOUT("Check: %s\n", checkString);
|
|
||||||
|
if (info->usesCheck && info->numActualFrames == 1) {
|
||||||
|
DISPLAYOUT("Check: %s %02x%02x%02x%02x\n", checkString,
|
||||||
|
info->checksum[3], info->checksum[2],
|
||||||
|
info->checksum[1], info->checksum[0]
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
DISPLAYOUT("Check: %s\n", checkString);
|
||||||
|
}
|
||||||
|
|
||||||
DISPLAYOUT("\n");
|
DISPLAYOUT("\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user