X-Git-Url: https://wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Ftw.c;h=a32ec1c87316d927d57e953471e7b2642b4609c4;hb=93248791e35dd28a73bf98802bebfc5fef50f1fe;hp=d363e4532fa1ce4737aa1a3c06b1c120a0dcfcc3;hpb=e06d9acceda1d719f542a46e3718efc0571b5815;p=ptask.git diff --git a/src/tw.c b/src/tw.c index d363e45..a32ec1c 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,7 +113,10 @@ static int task_check_version() if (!strcmp(ver, "2.2.0") || !strcmp(ver, "2.0.0") - || !strcmp(ver, "2.3.0")) + || !strcmp(ver, "2.3.0") + || !strcmp(ver, "2.4.0") + || !strcmp(ver, "2.4.1") + || !strcmp(ver, "2.5.0")) return 1; else return 0; @@ -120,9 +126,11 @@ 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 +523,7 @@ static void task_free(struct task *task) free(*tags); tags++; } - free(tags); + free(task->tags); } free(task); @@ -646,3 +654,8 @@ struct project **tw_get_projects(struct task **tasks) return prjs; } + +void tw_enable_check_version(int e) +{ + check_version_enabled = e; +}