summaryrefslogtreecommitdiff
path: root/source3/libsmb
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2009-01-18 16:38:30 +0100
committerVolker Lendecke <vl@samba.org>2009-01-18 16:45:07 +0100
commit0dbd3968626445b4dcb00307e45206b37dd0e8ad (patch)
tree79ffe7396e8af5c52593509df3877c545970d2b3 /source3/libsmb
parentc45b6ec29a5b3a39b83209e970b645e5ed0a411c (diff)
downloadsamba-0dbd3968626445b4dcb00307e45206b37dd0e8ad.tar.gz
samba-0dbd3968626445b4dcb00307e45206b37dd0e8ad.tar.bz2
samba-0dbd3968626445b4dcb00307e45206b37dd0e8ad.zip
Add a macro async_req_setup()
This streamlines setting up a multi-step async request a bit
Diffstat (limited to 'source3/libsmb')
-rw-r--r--source3/libsmb/clireadwrite.c34
1 files changed, 9 insertions, 25 deletions
diff --git a/source3/libsmb/clireadwrite.c b/source3/libsmb/clireadwrite.c
index 1d5582e61d..1ba93d827d 100644
--- a/source3/libsmb/clireadwrite.c
+++ b/source3/libsmb/clireadwrite.c
@@ -278,15 +278,10 @@ struct async_req *cli_pull_send(TALLOC_CTX *mem_ctx,
struct cli_pull_state *state;
int i;
- result = async_req_new(mem_ctx);
- if (result == NULL) {
- goto failed;
- }
- state = talloc(result, struct cli_pull_state);
- if (state == NULL) {
- goto failed;
+ if (!async_req_setup(mem_ctx, &result, &state,
+ struct cli_pull_state)) {
+ return NULL;
}
- result->private_data = state;
result->print = cli_pull_print;
state->req = result;
@@ -843,16 +838,10 @@ static struct async_req *cli_writeall_send(TALLOC_CTX *mem_ctx,
struct async_req *subreq;
struct cli_writeall_state *state;
- result = async_req_new(mem_ctx);
- if (result == NULL) {
- goto fail;
- }
- state = talloc(result, struct cli_writeall_state);
- if (state == NULL) {
- goto fail;
+ if (!async_req_setup(mem_ctx, &result, &state,
+ struct cli_writeall_state)) {
+ return NULL;
}
- result->private_data = state;
-
state->ev = ev;
state->cli = cli;
state->fnum = fnum;
@@ -969,15 +958,10 @@ struct async_req *cli_push_send(TALLOC_CTX *mem_ctx, struct event_context *ev,
struct cli_push_state *state;
int i;
- result = async_req_new(mem_ctx);
- if (result == NULL) {
- goto failed;
- }
- state = talloc(result, struct cli_push_state);
- if (state == NULL) {
- goto failed;
+ if (!async_req_setup(mem_ctx, &result, &state,
+ struct cli_push_state)) {
+ return NULL;
}
- result->private_data = state;
state->req = result;
state->cli = cli;