diff options
Diffstat (limited to 'Build/source/libs/zziplib/zziplib-src/zzip/info.c')
-rw-r--r-- | Build/source/libs/zziplib/zziplib-src/zzip/info.c | 46 |
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 |