diff options
author | Amitay Isaacs <amitay@gmail.com> | 2017-07-27 01:45:44 +1000 |
---|---|---|
committer | Martin Schwenke <martins@samba.org> | 2017-08-30 14:59:26 +0200 |
commit | ab88bad3e2a5a55f7f69e9a42c03d3f63123b2f5 (patch) | |
tree | d53f161fcdac38f775ac9db0c95a9dd4d38683d4 | |
parent | 4788016cfda7446566063e7299c2d3e175fe5658 (diff) | |
download | samba-ab88bad3e2a5a55f7f69e9a42c03d3f63123b2f5.tar.gz |
ctdb-protocol: Fix marshalling for ctdb_event_reply_script_list
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
-rw-r--r-- | ctdb/protocol/protocol_event.c | 12 | ||||
-rw-r--r-- | ctdb/tests/src/protocol_event_test.c | 3 |
2 files changed, 10 insertions, 5 deletions
diff --git a/ctdb/protocol/protocol_event.c b/ctdb/protocol/protocol_event.c index 1f608ad8ea1..d7ea6593105 100644 --- a/ctdb/protocol/protocol_event.c +++ b/ctdb/protocol/protocol_event.c @@ -645,17 +645,20 @@ static size_t ctdb_event_reply_script_list_len( static void ctdb_event_reply_script_list_push( struct ctdb_event_reply_script_list *in, - uint8_t *buf) + uint8_t *buf, size_t *npush) { size_t np; ctdb_script_list_push(in->script_list, buf, &np); + + *npush = np; } static int ctdb_event_reply_script_list_pull( uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx, - struct ctdb_event_reply_script_list **out) + struct ctdb_event_reply_script_list **out, + size_t *npull) { struct ctdb_event_reply_script_list *rdata; size_t np; @@ -674,6 +677,7 @@ static int ctdb_event_reply_script_list_pull( } *out = rdata; + *npull = np; return 0; } @@ -727,7 +731,7 @@ static void ctdb_event_reply_data_push(struct ctdb_event_reply_data *in, case CTDB_EVENT_COMMAND_SCRIPT_LIST: ctdb_event_reply_script_list_push(in->data.script_list, - buf+offset); + buf+offset, &np); break; case CTDB_EVENT_COMMAND_SCRIPT_ENABLE: @@ -771,7 +775,7 @@ static int ctdb_event_reply_data_pull(uint8_t *buf, size_t buflen, case CTDB_EVENT_COMMAND_SCRIPT_LIST: ret = ctdb_event_reply_script_list_pull( buf+offset, buflen-offset, - mem_ctx, &out->data.script_list); + mem_ctx, &out->data.script_list, &np); break; case CTDB_EVENT_COMMAND_SCRIPT_ENABLE: diff --git a/ctdb/tests/src/protocol_event_test.c b/ctdb/tests/src/protocol_event_test.c index 57f7d9068ba..633c7c360ef 100644 --- a/ctdb/tests/src/protocol_event_test.c +++ b/ctdb/tests/src/protocol_event_test.c @@ -239,7 +239,8 @@ PROTOCOL_TYPE3_TEST(struct ctdb_event_request_script_enable, PROTOCOL_TYPE3_TEST(struct ctdb_event_request_script_disable, ctdb_event_request_script_disable); PROTOCOL_TYPE3_TEST(struct ctdb_event_reply_status, ctdb_event_reply_status); -DEFINE_TEST(struct ctdb_event_reply_script_list, ctdb_event_reply_script_list); +PROTOCOL_TYPE3_TEST(struct ctdb_event_reply_script_list, + ctdb_event_reply_script_list); PROTOCOL_EVENT1_TEST(struct ctdb_event_request_data, ctdb_event_request_data); |