#ifdef WIN32
#include "win32_compat.h"
-#else
-#include <strings.h>
+#endif
+
+#ifdef HAVE_UTIME_H
#include <utime.h>
-#endif /*WIN32*/
+#endif
#ifdef ANDROID
#define statvfs statfs
#include <sys/statvfs.h>
#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+
+#ifdef HAVE_STRINGS_H
+#include <strings.h>
+#endif
+
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
-#include <netinet/in.h>
#include "libnfs-zdr.h"
#include "libnfs.h"
#include "libnfs-raw.h"
/* trying to read more than maximum server read size, we has to chop it up into smaller
* reads and collect into a reassembly buffer.
- * we send all reads in parallell so that performance is still good.
+ * we send all reads in parallel so that performance is still good.
*/
data->max_offset = offset;
data->start_offset = offset;
/* trying to write more than maximum server write size, we has to chop it up into smaller
* chunks.
- * we send all writes in parallell so that performance is still good.
+ * we send all writes in parallel so that performance is still good.
*/
data->max_offset = offset;
data->start_offset = offset;
}
memset(nfsfh, 0, sizeof(struct nfsfh));
- /* steal the filehandle */
- nfsfh->fh.data.data_len = data->fh.data.data_len;
- nfsfh->fh.data.data_val = data->fh.data.data_val;
- data->fh.data.data_val = NULL;
+ /* copy the filehandle */
+ nfsfh->fh.data.data_len = res->LOOKUP3res_u.resok.object.data.data_len;
+ nfsfh->fh.data.data_val = malloc(nfsfh->fh.data.data_len);
+ memcpy(nfsfh->fh.data.data_val, res->LOOKUP3res_u.resok.object.data.data_val, nfsfh->fh.data.data_len);
data->cb(0, nfs, nfsfh, data->private_data);
free_nfs_cb_data(data);
}
-
-
-
/*
* Async access()
*/
*/
uint64_t nfs_get_writemax(struct nfs_context *nfs)
{
- /* Some ZDR libraries can not marshall PDUs bigger than this */
- if (nfs->writemax < 32768) {
- return nfs->writemax;
- }
- return 32768;
+ return nfs->writemax;
}
void nfs_set_error(struct nfs_context *nfs, char *error_string, ...)