summaryrefslogtreecommitdiff
path: root/ctdb
diff options
context:
space:
mode:
authorChristof Schmitt <cs@samba.org>2015-07-06 14:32:15 -0700
committerChristof Schmitt <cs@samba.org>2015-07-08 02:54:26 +0200
commitcd55349e9b0cfc9bb8c04a5cfa3c142efead6b83 (patch)
treeee17426765b1daaf8c3aba3a2794b9a8f2333fd4 /ctdb
parent663db9fbb028fe524bb0eef09398c62bf4fb08d4 (diff)
downloadsamba-cd55349e9b0cfc9bb8c04a5cfa3c142efead6b83.tar.gz
ctdb: Accept hex format for pdelete and ptrans commands
Signed-off-by: Christof Schmitt <cs@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'ctdb')
-rw-r--r--ctdb/tools/ctdb.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/ctdb/tools/ctdb.c b/ctdb/tools/ctdb.c
index 76dacb3a781..57c7052b644 100644
--- a/ctdb/tools/ctdb.c
+++ b/ctdb/tools/ctdb.c
@@ -4299,8 +4299,12 @@ static int control_pdelete(struct ctdb_context *ctdb, int argc, const char **arg
return -1;
}
- key.dptr = discard_const(argv[1]);
- key.dsize = strlen(argv[1]);
+ key = strtodata(tmp_ctx, argv[1], strlen(argv[1]));
+ if (key.dptr == NULL) {
+ printf("Failed to convert \"%s\" into a TDB_DATA\n", argv[1]);
+ return -1;
+ }
+
ret = ctdb_transaction_store(h, key, tdb_null);
if (ret != 0) {
DEBUG(DEBUG_ERR, ("Failed to delete record\n"));
@@ -4341,8 +4345,7 @@ static const char *ptrans_parse_string(TALLOC_CTX *mem_ctx, const char *s,
n = strcspn(t, "\"");
if (t[n] == '"') {
if (n > 0) {
- data->dsize = n;
- data->dptr = talloc_memdup(mem_ctx, t, n);
+ *data = strtodata(mem_ctx, t, n);
CTDB_NOMEM_ABORT(data->dptr);
}
ret = t + n + 1;