diff options
author | Christof Schmitt <cs@samba.org> | 2015-07-06 14:32:15 -0700 |
---|---|---|
committer | Christof Schmitt <cs@samba.org> | 2015-07-08 02:54:26 +0200 |
commit | cd55349e9b0cfc9bb8c04a5cfa3c142efead6b83 (patch) | |
tree | ee17426765b1daaf8c3aba3a2794b9a8f2333fd4 /ctdb | |
parent | 663db9fbb028fe524bb0eef09398c62bf4fb08d4 (diff) | |
download | samba-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.c | 11 |
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; |