From 246fdb38d7c2fb3054b8f8528e11dc8f17691750 Mon Sep 17 00:00:00 2001 From: Wiimm Date: Tue, 26 Mar 2024 10:35:38 +0100 Subject: SZS 2.42a --- project/src/lib-file.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'project/src/lib-file.c') diff --git a/project/src/lib-file.c b/project/src/lib-file.c index 68730c9..e1ef3cb 100644 --- a/project/src/lib-file.c +++ b/project/src/lib-file.c @@ -916,6 +916,9 @@ file_format_t GetByMagicFF switch(magic32) { //--- see below for BOM support +// case YBZ_MAGIC_NUM: return FF_YBZ; +// case YLZ_MAGIC_NUM: return FF_YLZ; + case BMG_TEXT_MAGIC_NUM: return FF_BMG_TXT; case KCL_TEXT_MAGIC_NUM: return FF_KCL_TXT; case KMP_TEXT_MAGIC_NUM: return FF_KMP_TXT; @@ -927,7 +930,11 @@ file_format_t GetByMagicFF case GCTTXT_MAGIC_NUM: return FF_GCT_TXT; - case YAZ0_MAGIC_NUM: return FF_YAZ0; + case YAZ0_MAGIC_NUM: + return IsBZIP2(data+sizeof(ybz_header_t),data_size-sizeof(ybz_header_t)) >= 0 + ? FF_YBZ + : IsYLZ(data,data_size) >= 0 ? FF_YLZ : FF_YAZ0; + case YAZ1_MAGIC_NUM: return FF_YAZ1; case XYZ0_MAGIC_NUM: return FF_XYZ; // case BZ_MAGIC_NUM: return FF_BZ; @@ -2648,6 +2655,21 @@ bool IsArchiveFF ( file_format_t ff ) //----------------------------------------------------------------------------- +bool IsCompressFF ( file_format_t ff ) +{ + return (uint)ff < FF_N && FileTypeTab[ff].attrib & FFT_COMPRESS; +} + +//----------------------------------------------------------------------------- + +bool IsTrackCompressFF ( file_format_t ff ) +{ + const uint cond = FFT_TRACK | FFT_COMPRESS; + return (uint)ff < FF_N && ( FileTypeTab[ff].attrib & cond ) == cond; +} + +//----------------------------------------------------------------------------- + bool IsTextFF ( file_format_t ff ) { return (uint)ff < FF_N && FileTypeTab[ff].attrib & FFT_TEXT; -- cgit v1.3.1