From: Volker Lendecke Date: Mon, 14 Aug 2023 15:30:24 +0000 (+0200) Subject: examples: Print file type as part of teststat X-Git-Tag: tevent-0.16.0~158 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=214eef0ff31b21c3d32ee46fed8874cff56801b8;p=thirdparty%2Fsamba.git examples: Print file type as part of teststat Signed-off-by: Volker Lendecke Reviewed-by: Ralph Böhme Reviewed-by: Jeremy Allison --- diff --git a/examples/libsmbclient/teststat.c b/examples/libsmbclient/teststat.c index c8973e6ad0d..ae08504a294 100644 --- a/examples/libsmbclient/teststat.c +++ b/examples/libsmbclient/teststat.c @@ -5,6 +5,31 @@ #include #include "get_auth_data_fn.h" +static const char *filetypestr(mode_t mode) +{ + if (S_ISREG(mode)) { + return "regular file"; + } + if (S_ISDIR(mode)) { + return "directory"; + } + if (S_ISFIFO(mode)) { + return "fifo"; + } + if (S_ISLNK(mode)) { + return "symbolic link"; + } + if (S_ISSOCK(mode)) { + return "socket"; + } + if (S_ISCHR(mode)) { + return "character special file"; + } + if (S_ISBLK(mode)) { + return "block special file"; + } + return "unknown file type"; +} int main(int argc, char * argv[]) { @@ -53,13 +78,14 @@ int main(int argc, char * argv[]) return 1; } - printf("\nSAMBA\n mtime:%jd/%s ctime:%jd/%s atime:%jd/%s\n", + printf("\nSAMBA\n mtime:%jd/%s ctime:%jd/%s atime:%jd/%s %s\n", (intmax_t)st.st_mtime, ctime_r(&st.st_mtime, m_time), (intmax_t)st.st_ctime, ctime_r(&st.st_ctime, c_time), (intmax_t)st.st_atime, - ctime_r(&st.st_atime, a_time)); + ctime_r(&st.st_atime, a_time), + filetypestr(st.st_mode)); if (pLocalPath != NULL) { ret = stat(pLocalPath, &st); @@ -68,13 +94,14 @@ int main(int argc, char * argv[]) return 1; } - printf("LOCAL\n mtime:%jd/%s ctime:%jd/%s atime:%jd/%s\n", + printf("LOCAL\n mtime:%jd/%s ctime:%jd/%s atime:%jd/%s %s\n", (intmax_t)st.st_mtime, ctime_r(&st.st_mtime, m_time), (intmax_t)st.st_ctime, ctime_r(&st.st_ctime, c_time), (intmax_t)st.st_atime, - ctime_r(&st.st_atime, a_time)); + ctime_r(&st.st_atime, a_time), + filetypestr(st.st_mode)); } return 0;