aboutsummaryrefslogtreecommitdiff
path: root/project/src/lib-file.c
diff options
context:
space:
mode:
authorWiimm <wiimm@wiimm.de>2024-03-26 10:35:38 +0100
committerWiimm <wiimm@wiimm.de>2024-03-26 10:35:38 +0100
commit246fdb38d7c2fb3054b8f8528e11dc8f17691750 (patch)
treec106adbb6c640ab93c4b3f19864fde6046b1a759 /project/src/lib-file.c
parentb8aca433e32346c9293acc34a9e2242809ac5692 (diff)
SZS 2.42a
Diffstat (limited to 'project/src/lib-file.c')
-rw-r--r--project/src/lib-file.c24
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;