ctdb-protocol: Fix marshalling for ctdb_event_request_script_enable
authorAmitay Isaacs <amitay@gmail.com>
Wed, 26 Jul 2017 15:35:20 +0000 (01:35 +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 d1cca15d3522eda9325fbe923ac6e74b8aec5dd2..9f1572d00478f554cfe04c4c8316b35fbe61afc1 100644 (file)
@@ -373,17 +373,20 @@ static size_t ctdb_event_request_script_enable_len(
 
 static void ctdb_event_request_script_enable_push(
                                struct ctdb_event_request_script_enable *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_enable_pull(
                                uint8_t *buf, size_t buflen,
                                TALLOC_CTX *mem_ctx,
-                               struct ctdb_event_request_script_enable **out)
+                               struct ctdb_event_request_script_enable **out,
+                               size_t *npull)
 {
        struct ctdb_event_request_script_enable *rdata;
        size_t np;
@@ -401,6 +404,7 @@ static int ctdb_event_request_script_enable_pull(
        }
 
        *out = rdata;
+       *npull = np;
        return 0;
 }
 
@@ -499,7 +503,7 @@ static void ctdb_event_request_data_push(struct ctdb_event_request_data *in,
        case CTDB_EVENT_COMMAND_SCRIPT_ENABLE:
                ctdb_event_request_script_enable_push(
                                                in->data.script_enable,
-                                               buf+offset);
+                                               buf+offset, &np);
                break;
 
        case CTDB_EVENT_COMMAND_SCRIPT_DISABLE:
@@ -546,7 +550,8 @@ static int ctdb_event_request_data_pull(uint8_t *buf, size_t buflen,
                ret = ctdb_event_request_script_enable_pull(
                                                buf+offset, buflen-offset,
                                                mem_ctx,
-                                               &out->data.script_enable);
+                                               &out->data.script_enable,
+                                               &np);
                break;
 
        case CTDB_EVENT_COMMAND_SCRIPT_DISABLE:
index c91791cb64988d76472db22c9199d2328b5706ed..f8c94e32e5db46935416d9f53d6c31f4757ce33c 100644 (file)
@@ -264,7 +264,7 @@ static void test_ctdb_event_reply(void)
 PROTOCOL_TYPE3_TEST(struct ctdb_event_request_run, ctdb_event_request_run);
 PROTOCOL_TYPE3_TEST(struct ctdb_event_request_status,
                                ctdb_event_request_status);
-DEFINE_TEST(struct ctdb_event_request_script_enable,
+PROTOCOL_TYPE3_TEST(struct ctdb_event_request_script_enable,
                                ctdb_event_request_script_enable);
 DEFINE_TEST(struct ctdb_event_request_script_disable,
                                ctdb_event_request_script_disable);