From 5bbfc52403003c1280a0a0b6d8ef0923742b129e Mon Sep 17 00:00:00 2001 From: simon Date: Fri, 13 Dec 2024 18:07:35 +0100 Subject: [PATCH] fixed mem bug --- src/planner.c | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/src/planner.c b/src/planner.c index 2653d71..656414f 100644 --- a/src/planner.c +++ b/src/planner.c @@ -38,7 +38,7 @@ void printEvent(Event *s) { ctime_r(&s->plannedStartTime, st); ctime_r(&s->plannedEndTime, e); printf(eventFormat, s->task->name, st, e, s->spare); - printTask(s->task); + // printTask(s->task); } void llistPrintE(llist *head) { llist *c = head; @@ -203,6 +203,9 @@ llist *genPlan(llist *head, time_t timeAvail) { time_t now = time(NULL); struct tm *lc = localtime(&now); llist *events_ll = llistNew(NULL, cmpEvent); + if (events_ll == NULL) { + exit(1); + } // time_t avail = mktime(timeAvail); time_t start, end; // (mktime(lc) < mktime(timeAvail)) @@ -211,10 +214,15 @@ llist *genPlan(llist *head, time_t timeAvail) { lc->tm_min += intervalLen; end = mktime(lc); // - Event *c = - newEvent(sortedPrio, start, end, 0); // use elem with wighest priority + llist *tmp = llistGet(head, sortedPrio); + Event *c = NULL; + if (tmp != NULL) { + c = newEvent(tmp->data, start, end, + 0); // use elem with wighest priority + } llistAppend(events_ll, c); - printEvent(c); + // printEvent(c); + // printEvent((Event *)((events_ll)->next)->data); // decrement priority of first elem and resort list (*sortedPrio).priority -= 1; @@ -246,12 +254,17 @@ llist *genPlan(llist *head, time_t timeAvail) { llistFreeE(tmp); llistPrintE(events_ll); - // for (int i = 0; i < lLen; i++) { - // printTask(sortedPrio + i); - // } + // update prioriteis in original llist + for (int i = 0; i < lLen; i++) { + llist *tmp = llistGet(head, sortedPrio + i); + if (tmp != NULL) { + ((Task *)(tmp->data))->priority = sortedPrio[i].priority; + } + } + free(sortedPrio); planLog("END GEN PLAN", 0); - llistFreeT(head); + // llistFreeT(head); // send updated tasks to db for storage return events_ll;