return ctdb_uint32_len(&u32);
}
-static void ctdb_event_command_push(enum ctdb_event_command in, uint8_t *buf)
+static void ctdb_event_command_push(enum ctdb_event_command in, uint8_t *buf,
+ size_t *npush)
{
size_t np;
uint32_t u32 = in;
ctdb_uint32_push(&u32, buf, &np);
+
+ *npush = np;
}
static int ctdb_event_command_pull(uint8_t *buf, size_t buflen,
TALLOC_CTX *mem_ctx,
- enum ctdb_event_command *out)
+ enum ctdb_event_command *out,
+ size_t *npull)
{
uint32_t uint32_value;
enum ctdb_event_command value;
}
*out = value;
+ *npull = np;
return 0;
}
static void ctdb_event_request_data_push(struct ctdb_event_request_data *in,
uint8_t *buf)
{
- size_t offset = 0;
+ size_t offset = 0, np;
- ctdb_event_command_push(in->command, buf);
- offset += ctdb_event_command_len(in->command);
+ ctdb_event_command_push(in->command, buf, &np);
+ offset += np;
switch (in->command) {
case CTDB_EVENT_COMMAND_RUN:
TALLOC_CTX *mem_ctx,
struct ctdb_event_request_data *out)
{
- size_t offset = 0;
+ size_t offset = 0, np;
int ret;
- ret = ctdb_event_command_pull(buf, buflen, mem_ctx, &out->command);
+ ret = ctdb_event_command_pull(buf, buflen, mem_ctx, &out->command,
+ &np);
if (ret != 0) {
return ret;
}
- offset += ctdb_event_command_len(out->command);
+ offset += np;
switch (out->command) {
case CTDB_EVENT_COMMAND_RUN:
{
size_t offset = 0, np;
- ctdb_event_command_push(in->command, buf);
- offset += ctdb_event_command_len(in->command);
+ ctdb_event_command_push(in->command, buf, &np);
+ offset += np;
ctdb_int32_push(&in->result, buf+offset, &np);
offset += np;
size_t offset = 0, np;
int ret;
- ret = ctdb_event_command_pull(buf, buflen, mem_ctx, &out->command);
+ ret = ctdb_event_command_pull(buf, buflen, mem_ctx, &out->command,
+ &np);
if (ret != 0) {
return ret;
}
- offset += ctdb_event_command_len(out->command);
+ offset += np;
ret = ctdb_int32_pull(buf+offset, buflen-offset, &out->result, &np);
if (ret != 0) {