diff options
author | Yann Collet <yann.collet.73@gmail.com> | 2023-02-26 18:23:05 (GMT) |
---|---|---|
committer | Yann Collet <yann.collet.73@gmail.com> | 2023-02-26 18:40:28 (GMT) |
commit | 45a4880b9cbb47ddc6c1758744629b5835d5dd19 (patch) | |
tree | c9ae72bd0d6a6864f061db33cab3848c92337600 /programs/util.h | |
parent | ecf92d0897587c0f641df9db83c910fd236cb18a (diff) | |
download | lz4-45a4880b9cbb47ddc6c1758744629b5835d5dd19.zip lz4-45a4880b9cbb47ddc6c1758744629b5835d5dd19.tar.gz lz4-45a4880b9cbb47ddc6c1758744629b5835d5dd19.tar.bz2 |
refuse to compress directories
fix #1211, reported by @imba-tjd
Diffstat (limited to 'programs/util.h')
-rw-r--r-- | programs/util.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/programs/util.h b/programs/util.h index 3192ddc..f1d8a92 100644 --- a/programs/util.h +++ b/programs/util.h @@ -195,10 +195,7 @@ UTIL_STATIC void* UTIL_realloc(void* ptr, size_t size) /*-**************************************** * String functions ******************************************/ -/* - * A modified version of realloc(). - * If UTIL_realloc() fails the original block is freed. -*/ +/* supports a==NULL or b==NULL */ UTIL_STATIC int UTIL_sameString(const char* a, const char* b) { assert(a!=NULL && b!=NULL); /* unsupported scenario */ @@ -430,6 +427,21 @@ UTIL_STATIC int UTIL_isRegFile(const char* infilename) return UTIL_getFileStat(infilename, &statbuf); /* Only need to know whether it is a regular file */ } +UTIL_STATIC int UTIL_isDir(const char* infilename) +{ + stat_t statbuf; + int r; +#if defined(_MSC_VER) + r = _stat64(infilename, &statbuf); + if (r) return 0; + return (statbuf.st_mode & S_IFDIR); +#else + r = stat(infilename, &statbuf); + if (r) return 0; + return (S_ISDIR(statbuf.st_mode)); +#endif +} + UTIL_STATIC U32 UTIL_isDirectory(const char* infilename) { |