X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=nfs%2Fnfs.c;h=59452521f9eaf570d893943e6b92371e9d7739b0;hb=c985c015f2be8d3f87a4b89923c83755feb393f2;hp=48f9008998a6dafefd9725b7f281554bab775366;hpb=b426ef040432daf0868a99d62d1f85c88c7fbd2c;p=deb_libnfs.git diff --git a/nfs/nfs.c b/nfs/nfs.c index 48f9008..5945252 100644 --- a/nfs/nfs.c +++ b/nfs/nfs.c @@ -411,10 +411,9 @@ int rpc_nfs_rmdir_async(struct rpc_context *rpc, rpc_cb cb, struct nfs_fh3 *fh, -int rpc_nfs_create_async(struct rpc_context *rpc, rpc_cb cb, struct nfs_fh3 *fh, char *file, int mode, void *private_data) +int rpc_nfs_create_async(struct rpc_context *rpc, rpc_cb cb, CREATE3args *args, void *private_data) { struct rpc_pdu *pdu; - CREATE3args args; pdu = rpc_allocate_pdu(rpc, NFS_PROGRAM, NFS_V3, NFS3_CREATE, cb, private_data, (xdrproc_t)xdr_CREATE3res, sizeof(CREATE3res)); if (pdu == NULL) { @@ -422,14 +421,6 @@ int rpc_nfs_create_async(struct rpc_context *rpc, rpc_cb cb, struct nfs_fh3 *fh, return -1; } - memset(&args, 0, sizeof(CREATE3args)); - args.where.dir.data.data_len = fh->data.data_len; - args.where.dir.data.data_val = fh->data.data_val; - args.where.name = file; - args.how.mode = UNCHECKED; - args.how.createhow3_u.obj_attributes.mode.set_it = 1; - args.how.createhow3_u.obj_attributes.mode.set_mode3_u.mode = mode; - if (xdr_CREATE3args(&pdu->xdr, &args) == 0) { rpc_set_error(rpc, "XDR error: Failed to encode CREATE3args"); rpc_free_pdu(rpc, pdu);