summaryrefslogtreecommitdiff
path: root/ctdb/tests/src/tmon_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'ctdb/tests/src/tmon_test.c')
-rw-r--r--ctdb/tests/src/tmon_test.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/ctdb/tests/src/tmon_test.c b/ctdb/tests/src/tmon_test.c
index 651c24b7414..fb1f5eb9d30 100644
--- a/ctdb/tests/src/tmon_test.c
+++ b/ctdb/tests/src/tmon_test.c
@@ -45,6 +45,7 @@ static int test_write_callback(void *private_data, struct tmon_pkt *pkt)
private_data, struct test_write_state);
bool status;
size_t len;
+ char *end;
int err;
char c;
const char *t;
@@ -75,6 +76,16 @@ static int test_write_callback(void *private_data, struct tmon_pkt *pkt)
case '!':
status = tmon_set_ping(pkt);
break;
+ case '#':
+ /* Additional errno syntax: #nnn[;] */
+ t = &state->write_data[state->offset];
+ err = (int)strtol(t, &end, 10);
+ state->offset += (end - t);
+ if (state->write_data[state->offset] == ';') {
+ state->offset++;
+ }
+ status = tmon_set_errno(pkt, err);
+ break;
default:
status = false;
}