summaryrefslogtreecommitdiff
path: root/Build/source/libs/zziplib/zziplib-src/zzip/info.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/zziplib/zziplib-src/zzip/info.c')
-rw-r--r--Build/source/libs/zziplib/zziplib-src/zzip/info.c46
1 files changed, 19 insertions, 27 deletions
diff --git a/Build/source/libs/zziplib/zziplib-src/zzip/info.c b/Build/source/libs/zziplib/zziplib-src/zzip/info.c
index 70d393deff8..ab226bc9a20 100644
--- a/Build/source/libs/zziplib/zziplib-src/zzip/info.c
+++ b/Build/source/libs/zziplib/zziplib-src/zzip/info.c
@@ -58,6 +58,10 @@ zzip_dirfd(ZZIP_DIR * dir)
return dir->fd;
}
+static const char* comprlevel[] = {
+ "stored", "shrunk", "redu:1", "redu:2", "redu:3", "redu:4",
+ "impl:N", "toknze", "defl:N", "defl:B", "impl:B" };
+
/**
* return static const string of the known compression methods,
* otherwise just "zipped" is returned
@@ -65,46 +69,34 @@ zzip_dirfd(ZZIP_DIR * dir)
zzip_char_t *
zzip_compr_str(int compr)
{
- switch (compr)
+ if (0 <= compr && compr < sizeof(comprlevel))
+ {
+ return comprlevel[compr];
+ } else if (0 < compr && compr < 256)
+ {
+ return "zipped";
+ } else
{
- /* *INDENT-OFF* */
- case ZZIP_IS_STORED: return "stored";
- case ZZIP_IS_SHRUNK: return "shrunk";
- case ZZIP_IS_REDUCEDx1:
- case ZZIP_IS_REDUCEDx2:
- case ZZIP_IS_REDUCEDx3:
- case ZZIP_IS_REDUCEDx4: return "reduced";
- case ZZIP_IS_IMPLODED: return "imploded";
- case ZZIP_IS_TOKENIZED: return "tokenized";
- case ZZIP_IS_DEFLATED: return "deflated";
- case ZZIP_IS_DEFLATED_BETTER: return "deflatedX";
- case ZZIP_IS_IMPLODED_BETTER: return "implodedX";
- default:
- if (0 < compr && compr < 256) return "zipped";
- else
- {
# ifdef S_ISDIR
- if (S_ISDIR(compr)) return "directory";
+ if (S_ISDIR(compr)) return "directory";
# endif
# ifdef S_ISCHR
- if (S_ISCHR(compr)) return "is/chr";
+ if (S_ISCHR(compr)) return "is/chr";
# endif
# ifdef S_ISBLK
- if (S_ISBLK(compr)) return "is/blk";
+ if (S_ISBLK(compr)) return "is/blk";
# endif
# ifdef S_ISFIFO
- if (S_ISFIFO(compr)) return "is/fifo";
+ if (S_ISFIFO(compr)) return "is/fifo";
# endif
# ifdef S_ISSOCK
- if (S_ISSOCK(compr)) return "is/sock";
+ if (S_ISSOCK(compr)) return "is/sock";
# endif
# ifdef S_ISLNK
- if (S_ISLNK(compr)) return "is/lnk";
+ if (S_ISLNK(compr)) return "is/lnk";
# endif
- return "special";
- }
- /* *INDENT-ON* */
- } /*switch */
+ return "special";
+ }
}
/** => zzip_file_real