diff --git a/doc/lkt.1 b/doc/lkt.1 index 73c36811edd4d8ab56b7b51d306c3c4f0fd5fdb1..911e8436e665c2a2a12c12e863d76f8776f56813 100644 --- a/doc/lkt.1 +++ b/doc/lkt.1 @@ -134,6 +134,9 @@ Search in the queue and prints the karas that match the query .PD 0 .TP .PD +\fBsticker create\fP <name> +Create a sticker that can be used to tag \fIkara\fP and \fIplt\fP objects +.TP \fBsticker get\fP <type> <uri> [ <name> [ <op> <value> ] ] List the stickers of an object \fIuri\fP. The object \fItype\fP can be \fIkara\fP or \fIplt\fP. diff --git a/src/main/lkt.c b/src/main/lkt.c index 89ba0e4556dbfb1914a6ea01054a27febc20d0c8..79c8959000f1a25c841f649f1c3783330185a3ec 100644 --- a/src/main/lkt.c +++ b/src/main/lkt.c @@ -729,6 +729,16 @@ stickers_set__(struct lkt_cmd_args *args) exit_with_status(sock, buff); } +noreturn void +stickers_create__(struct lkt_cmd_args *args) +{ + fail_if(args->argc != 1, "Invalid argument"); + FILE *sock = lkt_connect(); + char buff[2]; + write_socket(sock, "sticker __create %s\n", args->argv[0]); + exit_with_status(sock, buff); +} + noreturn void stickers_delete__(struct lkt_cmd_args *args) { @@ -834,6 +844,7 @@ static struct lkt_cmd_opt options_stickers[] = { { .name = "get", .call = stickers_get__ }, { .name = "set", .call = stickers_set__ }, { .name = "delete", .call = stickers_delete__ }, + { .name = "create", .call = stickers_create__ }, LKT_OPT_NULL, };