summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAriadna Vigo <arivigodr@gmail.com>2020-12-18 21:58:06 +0100
committerAriadna Vigo <arivigodr@gmail.com>2020-12-18 22:09:00 +0100
commit2fb9a4aab97f2f3b7b2e64f278610ec8bf7112e5 (patch)
tree9f3d85cfd3b5a895bd35ddd1381fb0709b0c52ab
parent30fd7b062a7a8c9eb633a83cdef5dfe8e423df15 (diff)
Fixed how read_crasfile() works
-rw-r--r--cras.c23
-rw-r--r--tasklst.c2
2 files changed, 7 insertions, 18 deletions
diff --git a/cras.c b/cras.c
index 82cfe36..6034e6e 100644
--- a/cras.c
+++ b/cras.c
@@ -38,7 +38,7 @@ static void printf_color(const char *ansi_color, const char *fmt, ...);
static void print_task(Task task, int i);
static void print_short_output(TaskLst list);
static void print_output(TaskLst list);
-static int read_crasfile(TaskLst *list, const char *crasfile);
+static void read_crasfile(TaskLst *list, const char *crasfile);
static void write_crasfile(const char *crasfile, TaskLst list);
static int store_input(TaskLst *list, FILE *fp);
static int parse_tasknum(const char *id);
@@ -127,16 +127,13 @@ print_output(TaskLst list)
printf(" to do/done");
}
-static int
+static void
read_crasfile(TaskLst *list, const char *crasfile)
{
int read_stat;
FILE *fp;
fp = fopen(crasfile, "r");
- if (errno == ENOENT)
- return -1; /* We give the chance to create the file later. */
-
if (fp == NULL) {
task_lst_cleanup(list);
die("Could not read from %s: %s", crasfile, strerror(errno));
@@ -154,8 +151,6 @@ read_crasfile(TaskLst *list, const char *crasfile)
task_lst_cleanup(list);
die("Due date passed.");
}
-
- return 0;
}
static void
@@ -231,7 +226,6 @@ delete_mode(const char *crasfile, const char *id)
tasknum = parse_tasknum(id);
- task_lst_init(&list);
read_crasfile(&list, crasfile);
if (task_lst_del_task(&list, tasknum - 1) < 0) {
@@ -252,7 +246,6 @@ edit_mode(const char *crasfile, const char *id)
tasknum = parse_tasknum(id);
- task_lst_init(&list);
read_crasfile(&list, crasfile);
fgets(newstr, TASK_LST_DESC_MAX_SIZE, stdin);
@@ -273,9 +266,10 @@ input_mode(const char *crasfile, int append)
{
TaskLst list;
- task_lst_init(&list);
if (append > 0)
read_crasfile(&list, crasfile);
+ else
+ task_lst_init(&list);
if (store_input(&list, stdin) < 0) {
task_lst_cleanup(&list);
@@ -296,11 +290,9 @@ inval_mode(const char *crasfile)
{
TaskLst list;
- task_lst_init(&list);
read_crasfile(&list, crasfile);
task_lst_set_expiration(&list, 0);
-
write_crasfile(crasfile, list);
task_lst_cleanup(&list);
@@ -315,7 +307,6 @@ mark_list_mode(const char *crasfile, const char *id, int value)
tasknum = parse_tasknum(id);
- task_lst_init(&list);
read_crasfile(&list, crasfile);
task = task_lst_get_task(list, tasknum - 1);
@@ -337,11 +328,7 @@ output_mode(const char *crasfile, int mode)
{
TaskLst list;
- task_lst_init(&list);
- if (read_crasfile(&list, crasfile) < 0) {
- task_lst_cleanup(&list);
- die("Could not find file %s", crasfile);
- }
+ read_crasfile(&list, crasfile);
if (mode == SHORT_OUTPUT)
print_short_output(list);
diff --git a/tasklst.c b/tasklst.c
index 83ffabf..a7b0a09 100644
--- a/tasklst.c
+++ b/tasklst.c
@@ -172,6 +172,8 @@ task_lst_read_from_file(TaskLst *list, FILE *fp)
char *ptr, *endptr;
char linebuf[TASK_LST_DESC_MAX_SIZE];
+ task_lst_init(list);
+
if (fscanf(fp, "%" SCNd64 "\n", &list->expiry) <= 0)
return -1;