aboutsummaryrefslogtreecommitdiff
path: root/hatask.ha
diff options
context:
space:
mode:
Diffstat (limited to 'hatask.ha')
-rw-r--r--hatask.ha10
1 files changed, 5 insertions, 5 deletions
diff --git a/hatask.ha b/hatask.ha
index ef8b51c..534a150 100644
--- a/hatask.ha
+++ b/hatask.ha
@@ -19,7 +19,7 @@ type task = struct {
name: str,
path: str,
context: (str | void),
- tags: ([]str | void),
+ tags: []str,
priority: uint,
content: str,
};
@@ -76,7 +76,7 @@ fn readtask(taskpath: str) (task | rtaskerror) = {
defer ini::finish(&sc);
let t = task {
context = void,
- tags = void,
+ tags = [],
...
};
for (let entry: ini::entry => ini::next(&sc)?) {
@@ -85,6 +85,8 @@ fn readtask(taskpath: str) (task | rtaskerror) = {
t.name = strings::dup(strings::trim(entry.2));
case "priority" =>
t.priority = strconv::stou(entry.2)?;
+ case "tags" =>
+ t.tags = strings::dupall(strings::split(entry.2, ","));
case =>
void;
};
@@ -104,9 +106,7 @@ fn freetask(t: *task) void = {
if (t.context is str) {
free(t.context as str);
};
- if (t.tags is []str) {
- strings::freeall(t.tags as []str);
- };
+ strings::freeall(t.tags);
};
fn finishall(tasks: []task) void = {