Merge remote branch 'memphiz/win32'
[deb_libnfs.git] / examples / nfsclient-sync.c
index 00e4c88042eba4a3e50553acb8e79460eb11c03d..4f1d2bc4e2f7997cff514e0089189346efd6c876 100644 (file)
 
 /* Example program using the highlevel sync interface
  */
-
+#ifdef WIN32
+#include "win32_compat.h"
+#else
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/statvfs.h>
+#endif
 #define SERVER "10.1.1.27"
 #define EXPORT "/VIRTUAL"
 #define NFSFILE "/BOOKS/Classics/Dracula.djvu.truncated"
@@ -28,8 +35,6 @@
 #define _GNU_SOURCE
 
 #if defined(WIN32)
-#include <winsock2.h>
-typedef int off_t;
 #pragma comment(lib, "ws2_32.lib")
 WSADATA wsaData;
 #else
@@ -56,6 +61,21 @@ struct client {
 };
 
 
+void PrintServerList()
+{
+  struct nfs_server_list *srvrs;
+  struct nfs_server_list *srv;
+
+  srvrs = nfs_find_local_servers();
+
+  for (srv=srvrs; srv; srv = srv->next)
+  {
+      printf("Found nfs server: %s\n", srv->addr);
+
+  }
+  free_nfs_srvr_list(srvrs);
+}
+
 char buf[3*1024*1024+337];
 
 int main(int argc _U_, char *argv[] _U_)
@@ -81,6 +101,9 @@ int main(int argc _U_, char *argv[] _U_)
        client.server = SERVER;
        client.export = EXPORT;
        client.is_finished = 0;
+
+  PrintServerList();
+
        export = mount_getexports(SERVER);
        if (export != NULL) {
                printf("exports on server %s\n", SERVER);
@@ -216,7 +239,7 @@ int main(int argc _U_, char *argv[] _U_)
        while((nfsdirent = nfs_readdir(nfs, nfsdir)) != NULL) {
          char filename[1024];
                printf("Inode:%d Name:%s ", (int)nfsdirent->inode, nfsdirent->name);
-               sprintf(&filename, "%s/%s", NFSDIR, nfsdirent->name);
+               sprintf(filename, "%s/%s", NFSDIR, nfsdirent->name);
                ret = nfs_open(nfs, filename, O_RDONLY, &nfsfh);
                if (ret != 0) {
                        printf("Failed to open(%s) %s\n", filename, nfs_get_error(nfs));
@@ -225,7 +248,6 @@ int main(int argc _U_, char *argv[] _U_)
                ret = nfs_read(nfs, nfsfh, sizeof(buf), buf);
                if (ret < 0) {
                        printf("Error reading file\n");
-                       exit(10);
                }
                printf("Read %d bytes\n", ret);
                ret = nfs_close(nfs, nfsfh);