diff options
| author | Wiimm <wiimm@wiimm.de> | 2024-03-26 10:35:38 +0100 |
|---|---|---|
| committer | Wiimm <wiimm@wiimm.de> | 2024-03-26 10:35:38 +0100 |
| commit | 246fdb38d7c2fb3054b8f8528e11dc8f17691750 (patch) | |
| tree | c106adbb6c640ab93c4b3f19864fde6046b1a759 /project/src/lib-file.c | |
| parent | b8aca433e32346c9293acc34a9e2242809ac5692 (diff) | |
SZS 2.42a
Diffstat (limited to 'project/src/lib-file.c')
| -rw-r--r-- | project/src/lib-file.c | 24 |
1 files changed, 23 insertions, 1 deletions
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; |
