diff options
author | Derrell Lipman <derrell@samba.org> | 2005-12-25 02:03:51 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:05:56 -0500 |
commit | 494e332220686c5410aa26b305bc037b400b4b4f (patch) | |
tree | 17968ee88f5c44722b17acb68c1a3f80de44f8e2 | |
parent | 9d36d5ee2dc42b55e97ff23f2ee2b9ac11aba116 (diff) | |
download | samba-494e332220686c5410aa26b305bc037b400b4b4f.tar.gz samba-494e332220686c5410aa26b305bc037b400b4b4f.tar.bz2 samba-494e332220686c5410aa26b305bc037b400b4b4f.zip |
r12468: r12033@cabra: derrell | 2005-12-24 21:03:45 -0500
actually add the new test program
(This used to be commit e3bab0cc437f3c51c74e438d8d76ffd8afe8644c)
-rw-r--r-- | examples/libsmbclient/teststat2.c | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/examples/libsmbclient/teststat2.c b/examples/libsmbclient/teststat2.c new file mode 100644 index 0000000000..d1cdf28501 --- /dev/null +++ b/examples/libsmbclient/teststat2.c @@ -0,0 +1,72 @@ +#include <libsmbclient.h> +#include <sys/stat.h> +#include <string.h> +#include <stdio.h> +#include <time.h> +#include "get_auth_data_fn.h" + +/* + * This test is intended to ensure that the timestamps returned by + * libsmbclient are the same as timestamps returned by the local system. To + * test this, we assume a working Samba environment, and and access the same + * file via SMB and locally (or NFS). + * + */ + + +static int gettime(const char * pUrl, + const char * pLocalPath); + + +int main(int argc, char* argv[]) +{ + if(argc != 3) + { + printf("usage: %s <file_url> <file_localpath>\n", argv[0]); + return 1; + } + + gettime(argv[1], argv[2]); + return 0; +} + + +static int gettime(const char * pUrl, + const char * pLocalPath) +{ + //char *pSmbPath = 0; + struct stat st; + char mtime[32]; + char ctime[32]; + char atime[32]; + + smbc_init(get_auth_data_fn, 0); + + if (smbc_stat(pUrl, &st) < 0) + { + perror("smbc_stat"); + return 1; + } + + printf("SAMBA\n mtime:%lu/%s ctime:%lu/%s atime:%lu/%s\n", + st.st_mtime, ctime_r(&st.st_mtime, mtime), + st.st_ctime, ctime_r(&st.st_ctime, ctime), + st.st_atime, ctime_r(&st.st_atime, atime)); + + + // check the stat on this file + if (stat(pLocalPath, &st) < 0) + { + perror("stat"); + return 1; + } + + printf("LOCAL\n mtime:%lu/%s ctime:%lu/%s atime:%lu/%s\n", + st.st_mtime, ctime_r(&st.st_mtime, mtime), + st.st_ctime, ctime_r(&st.st_ctime, ctime), + st.st_atime, ctime_r(&st.st_atime, atime)); + + + return 0; +} + |