X-Git-Url: http://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Ftw.c;h=82357844299de0ca9e08f45231e36858385a1d19;hb=8e16d048071d7c880b118643b3beea50ede5b4c6;hp=01695d51ac47a21f9e57f9e5fc5761e3567b1f56;hpb=8a8ea8604707b51f52e9791a7d601ac3f563f07b;p=ptask.git diff --git a/src/tw.c b/src/tw.c index 01695d5..8235784 100644 --- a/src/tw.c +++ b/src/tw.c @@ -37,6 +37,8 @@ static char *task_exec(char *opts) size_t s; char *str, *tmp, *cmd, buf[1024]; + log_fct_enter(); + cmd = malloc(strlen("task ") + strlen(opts) + 1); strcpy(cmd, "task "); strcat(cmd, opts); @@ -67,6 +69,8 @@ static char *task_exec(char *opts) if (ret == -1) log_err("pclose fails"); + log_fct_exit(); + return str; } @@ -193,6 +197,9 @@ struct task **tw_get_all_tasks(const char *status) json = json_object_object_get(jtask, "uuid"); tasks[i]->uuid = strdup(json_object_get_string(json)); + json = json_object_object_get(jtask, "urgency"); + tasks[i]->urgency = strdup(json_object_get_string(json)); + tasks[i]->note = note_get(tasks[i]->uuid); } @@ -276,6 +283,8 @@ void tw_modify_priority(const char *uuid, const char *priority) char *str; char *opts; + log_fct_enter(); + str = escape(priority); opts = malloc(1 @@ -290,15 +299,19 @@ void tw_modify_priority(const char *uuid, const char *priority) free(str); free(opts); + + log_fct_exit(); } void tw_add(const char *newdesc, const char *prj, const char *prio) { char *opts, *eprj; + log_fct_enter(); + eprj = escape(prj); - opts = malloc(strlen(" add") + opts = malloc(strlen("add") + strlen(" priority:") + 1 + strlen(" project:\\\"") @@ -309,7 +322,7 @@ void tw_add(const char *newdesc, const char *prj, const char *prio) + strlen("\"") + 1); - strcpy(opts, " add"); + strcpy(opts, "add"); if (prio && strlen(prio) == 1) { strcat(opts, " priority:"); @@ -324,12 +337,14 @@ void tw_add(const char *newdesc, const char *prj, const char *prio) strcat(opts, " \""); strcat(opts, newdesc); - strcat(opts, " \""); + strcat(opts, "\""); tw_exec(opts); free(opts); free(eprj); + + log_fct_exit(); } void tw_done(const char *uuid) @@ -347,6 +362,21 @@ void tw_done(const char *uuid) free(opts); } +void tw_task_remove(const char *uuid) +{ + char *opts; + + opts = malloc(1 + + strlen(uuid) + + strlen(" delete") + + 1); + sprintf(opts, " %s delete", uuid); + + tw_exec(opts); + + free(opts); +} + static void task_free(struct task *task) { if (!task) @@ -358,6 +388,7 @@ static void task_free(struct task *task) free(task->note); free(task->project); free(task->priority); + free(task->urgency); free(task); }