ctdb-protocol: Fix marshalling for ctdb_event_request_script_disable
authorAmitay Isaacs <amitay@gmail.com>
Wed, 26 Jul 2017 15:36:56 +0000 (01:36 +1000)
committerMartin Schwenke <martins@samba.org>
Wed, 30 Aug 2017 12:59:26 +0000 (14:59 +0200)
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
ctdb/protocol/protocol_event.c
ctdb/tests/src/protocol_event_test.c

index 9f1572d00478f554cfe04c4c8316b35fbe61afc1..73877a175f743277d35b077433b37b7ad03f49a7 100644 (file)
@@ -416,17 +416,20 @@ static size_t ctdb_event_request_script_disable_len(
 
 static void ctdb_event_request_script_disable_push(
                                struct ctdb_event_request_script_disable *in,
-                               uint8_t *buf)
+                               uint8_t *buf, size_t *npush)
 {
        size_t np;
 
        ctdb_stringn_push(&in->script_name, buf, &np);
+
+       *npush = np;
 }
 
 static int ctdb_event_request_script_disable_pull(
                                uint8_t *buf, size_t buflen,
                                TALLOC_CTX *mem_ctx,
-                               struct ctdb_event_request_script_disable **out)
+                               struct ctdb_event_request_script_disable **out,
+                               size_t *npull)
 {
        struct ctdb_event_request_script_disable *rdata;
        size_t np;
@@ -444,6 +447,7 @@ static int ctdb_event_request_script_disable_pull(
        }
 
        *out = rdata;
+       *npull = np;
        return 0;
 }
 
@@ -509,7 +513,7 @@ static void ctdb_event_request_data_push(struct ctdb_event_request_data *in,
        case CTDB_EVENT_COMMAND_SCRIPT_DISABLE:
                ctdb_event_request_script_disable_push(
                                                in->data.script_disable,
-                                               buf+offset);
+                                               buf+offset, &np);
                break;
        }
 }
@@ -558,7 +562,8 @@ static int ctdb_event_request_data_pull(uint8_t *buf, size_t buflen,
                ret = ctdb_event_request_script_disable_pull(
                                                buf+offset, buflen-offset,
                                                mem_ctx,
-                                               &out->data.script_disable);
+                                               &out->data.script_disable,
+                                               &np);
                break;
        }
 
index f8c94e32e5db46935416d9f53d6c31f4757ce33c..e6945018219923eed3d91ff02c309f7de253e6f4 100644 (file)
@@ -266,7 +266,7 @@ PROTOCOL_TYPE3_TEST(struct ctdb_event_request_status,
                                ctdb_event_request_status);
 PROTOCOL_TYPE3_TEST(struct ctdb_event_request_script_enable,
                                ctdb_event_request_script_enable);
-DEFINE_TEST(struct ctdb_event_request_script_disable,
+PROTOCOL_TYPE3_TEST(struct ctdb_event_request_script_disable,
                                ctdb_event_request_script_disable);
 DEFINE_TEST(struct ctdb_event_reply_status, ctdb_event_reply_status);
 DEFINE_TEST(struct ctdb_event_reply_script_list, ctdb_event_reply_script_list);