X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=nfs%2Fnfs.c;h=099e291d4619df55e93cf9b3ddcbc3758b0b2891;hb=7edc9026db94f488f04e7a76bf332f1feabcc9aa;hp=ccbd2c1699b87036fc3bfd2f88073ae00cc5fcba;hpb=bac0bc540430b02bfd68940c123242c51b477bac;p=deb_libnfs.git diff --git a/nfs/nfs.c b/nfs/nfs.c index ccbd2c1..099e291 100644 --- a/nfs/nfs.c +++ b/nfs/nfs.c @@ -342,10 +342,9 @@ int rpc_nfs_setattr_async(struct rpc_context *rpc, rpc_cb cb, SETATTR3args *args -int rpc_nfs_mkdir_async(struct rpc_context *rpc, rpc_cb cb, struct nfs_fh3 *fh, char *dir, void *private_data) +int rpc_nfs_mkdir_async(struct rpc_context *rpc, rpc_cb cb, MKDIR3args *args, void *private_data) { struct rpc_pdu *pdu; - MKDIR3args args; pdu = rpc_allocate_pdu(rpc, NFS_PROGRAM, NFS_V3, NFS3_MKDIR, cb, private_data, (xdrproc_t)xdr_MKDIR3res, sizeof(MKDIR3res)); if (pdu == NULL) { @@ -353,14 +352,7 @@ int rpc_nfs_mkdir_async(struct rpc_context *rpc, rpc_cb cb, struct nfs_fh3 *fh, return -1; } - memset(&args, 0, sizeof(MKDIR3args)); - args.where.dir.data.data_len = fh->data.data_len; - args.where.dir.data.data_val = fh->data.data_val; - args.where.name = dir; - args.attributes.mode.set_it = 1; - args.attributes.mode.set_mode3_u.mode = 0755; - - if (xdr_MKDIR3args(&pdu->xdr, &args) == 0) { + if (xdr_MKDIR3args(&pdu->xdr, args) == 0) { rpc_set_error(rpc, "XDR error: Failed to encode MKDIR3args"); rpc_free_pdu(rpc, pdu); return -2;