From: W. Felix Handte Date: Mon, 10 Aug 2020 19:28:02 +0000 (-0400) Subject: Remove UTIL_statFile() and UTIL_statDir(); Decompose Former Call-Sites X-Git-Tag: v1.4.7~102^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=51ac0207afb1477a65c0b7a4ed407970cf63b243;p=thirdparty%2Fzstd.git Remove UTIL_statFile() and UTIL_statDir(); Decompose Former Call-Sites --- diff --git a/programs/fileio.c b/programs/fileio.c index e289f9abf..b6d8fb5aa 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -1486,7 +1486,8 @@ static int FIO_compressFilename_dstFile(FIO_prefs_t* const prefs, addHandler(dstFileName); if ( strcmp (srcFileName, stdinmark) - && UTIL_statFile(srcFileName, &statbuf)) + && UTIL_stat(srcFileName, &statbuf) + && UTIL_isRegularFileStat(&statbuf) ) transfer_permissions = 1; } @@ -2352,7 +2353,8 @@ static int FIO_decompressDstFile(FIO_prefs_t* const prefs, addHandler(dstFileName); if ( strcmp(srcFileName, stdinmark) /* special case : don't transfer permissions from stdin */ - && UTIL_statFile(srcFileName, &statbuf) ) + && UTIL_stat(srcFileName, &statbuf) + && UTIL_isRegularFileStat(&statbuf) ) transfer_permissions = 1; } diff --git a/programs/util.c b/programs/util.c index 420d6aa70..fc88ab35c 100644 --- a/programs/util.c +++ b/programs/util.c @@ -113,7 +113,7 @@ int UTIL_stat(const char* filename, stat_t* statbuf) int UTIL_isRegularFile(const char* infilename) { stat_t statbuf; - return UTIL_statFile(infilename, &statbuf); /* Only need to know whether it is a regular file */ + return UTIL_stat(infilename, &statbuf) && UTIL_isRegularFileStat(&statbuf); } int UTIL_isRegularFileStat(const stat_t* statbuf) @@ -125,16 +125,6 @@ int UTIL_isRegularFileStat(const stat_t* statbuf) #endif } -int UTIL_statFile(const char* infilename, stat_t *statbuf) -{ - return UTIL_stat(infilename, statbuf) && UTIL_isRegularFileStat(statbuf); -} - -int UTIL_statDir(const char* infilename, stat_t *statbuf) -{ - return UTIL_stat(infilename, statbuf) && UTIL_isDirectoryStat(statbuf); -} - /* like chmod, but avoid changing permission of /dev/null */ int UTIL_chmod(char const* filename, const stat_t* statbuf, mode_t permissions) { @@ -189,7 +179,7 @@ int UTIL_setFileStat(const char *filename, const stat_t *statbuf) int UTIL_isDirectory(const char* infilename) { stat_t statbuf; - return UTIL_statDir(infilename, &statbuf); + return UTIL_stat(infilename, &statbuf) && UTIL_isDirectoryStat(&statbuf); } int UTIL_isDirectoryStat(const stat_t* statbuf) @@ -671,11 +661,14 @@ static int isFileNameValidForMirroredOutput(const char *filename) static mode_t getDirMode(const char *dirName) { stat_t st; - int ret = UTIL_statDir(dirName, &st); - if (!ret) { + if (!UTIL_stat(dirName, &st)) { UTIL_DISPLAY("zstd: failed to get DIR stats %s: %s\n", dirName, strerror(errno)); return DIR_DEFAULT_MODE; } + if (!UTIL_isDirectoryStat(&st)) { + UTIL_DISPLAY("zstd: expected directory: %s\n", dirName); + return DIR_DEFAULT_MODE; + } return st.st_mode; } diff --git a/programs/util.h b/programs/util.h index f903ccb13..f8eee86ad 100644 --- a/programs/util.h +++ b/programs/util.h @@ -120,10 +120,6 @@ extern int g_utilDisplayLevel; * Returns success (1) or failure (0). */ int UTIL_stat(const char* filename, stat_t* statbuf); -/** Also checks that the target is a regular file. */ -int UTIL_statFile(const char* infilename, stat_t* statbuf); -/** Also checks that the target is a directory. */ -int UTIL_statDir(const char* infilename, stat_t* statbuf); /** * Instead of getting a file's stats, this updates them with the info in the