X-Git-Url: http://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Ftw.c;h=2a81754a074803093617d76dd940db61d5d0c825;hb=1d479bf18659d6dcb4fefed032088bf4c56d24de;hp=d363e4532fa1ce4737aa1a3c06b1c120a0dcfcc3;hpb=e06d9acceda1d719f542a46e3718efc0571b5815;p=ptask.git diff --git a/src/tw.c b/src/tw.c index d363e45..2a81754 100644 --- a/src/tw.c +++ b/src/tw.c @@ -31,6 +31,9 @@ #include #include "tw.h" +/* Whether ptask check that the taskwarrior version is supported. */ +static int check_version_enabled = 1; + struct tm *parse_time(const char *t) { struct tm *tm; @@ -110,19 +113,23 @@ static int task_check_version() if (!strcmp(ver, "2.2.0") || !strcmp(ver, "2.0.0") - || !strcmp(ver, "2.3.0")) - return 1; - else + || !strcmp(ver, "2.3.0") + || !strcmp(ver, "2.4.0") + || !strcmp(ver, "2.4.1")) return 0; + else + return 1; } static char *tw_exec(char *opts) { char *opts2; - if (!task_check_version()) { - log_err("ptask is not compatible with the installed version of" - " taskwarrior."); + if (check_version_enabled && !task_check_version()) { + log_err("ptask is not compatible with the installed version of " + "taskwarrior. The command line option -f can force " + "the usage of an unsupported version of taskwarrior " + "(risk of malfunction like damaging data)."); return NULL; } @@ -515,7 +522,7 @@ static void task_free(struct task *task) free(*tags); tags++; } - free(tags); + free(task->tags); } free(task); @@ -646,3 +653,8 @@ struct project **tw_get_projects(struct task **tasks) return prjs; } + +void tw_enable_check_version(int e) +{ + check_version_enabled = e; +}