summaryrefslogtreecommitdiff
path: root/src/jobs.c
diff options
context:
space:
mode:
authorsinanmohd <sinan@sinanmohd.com>2024-06-16 13:17:35 +0530
committersinanmohd <sinan@sinanmohd.com>2024-06-16 13:20:24 +0530
commitd136b3c1b70d7ae687b763c59d1bc03d4ad3dbc2 (patch)
treecda33c21907a219fe18032f92b0bb8fedaf0c4d2 /src/jobs.c
parentf407bbb1b00194fdc89ca382f4cf2f1f536ab18e (diff)
c: improve memory management
Diffstat (limited to 'src/jobs.c')
-rw-r--r--src/jobs.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/jobs.c b/src/jobs.c
index c6141e6..a7c3953 100644
--- a/src/jobs.c
+++ b/src/jobs.c
@@ -213,8 +213,8 @@ out_free:
void job_free(struct job *job)
{
- struct job *j;
- struct output *o;
+ struct job *job_cur, *job_next;
+ struct output *op_cur, *op_next;
if (job == NULL)
return;
@@ -222,11 +222,8 @@ void job_free(struct job *job)
free(job->name);
free(job->drv_path);
- LIST_FOREACH (o, &job->outputs, dlist)
- output_free(o);
-
- LIST_FOREACH (j, &job->deps, dlist)
- job_free(j);
+ LIST_FOREACH_FREE(op_cur, op_next, &job->outputs, dlist, output_free);
+ LIST_FOREACH_FREE(job_cur, job_next, &job->deps, dlist, job_free);
free(job);
}
@@ -257,7 +254,8 @@ int jobs_init(FILE **stream)
/* TODO: proproperly handle args */
char *const args[] = {
"nix-eval-jobs",
- "<nixpkgs>",
+ "--flake",
+ "github:sinanmohd/evanix#packages.x86_64-linux",
NULL,
};