diff options
| author | dacctal <donotcontactmevia@email.invalid> | 2026-07-04 09:18:45 +0000 |
|---|---|---|
| committer | dacctal <donotcontactmevia@email.invalid> | 2026-07-04 09:18:45 +0000 |
| commit | 23ac5cee1ab80c71058c6831e7275e08e10029b9 (patch) | |
| tree | 387d4f453587fd3f80e1cb34982c294f81919371 /src/add_repo.c | |
| parent | e11533e41129b7a4f52664d40546a9053a5187cd (diff) | |
add checkpoint!
Diffstat (limited to 'src/add_repo.c')
| -rw-r--r-- | src/add_repo.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/add_repo.c b/src/add_repo.c new file mode 100644 index 0000000..1c41f3b --- /dev/null +++ b/src/add_repo.c @@ -0,0 +1,56 @@ +/* + + pkgit - package it! + + Copyright (C) 2026 dacctal + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. + +*/ + +#include <stdio.h> +#include <string.h> +#include <stdbool.h> + +#include "add_repo.h" + +#include "files.h" +#include "globs.h" + +void add_repo(package_t *pkg) { + bool is_previous_repos = false; + char rfile_line[1024]; + char rfile_contents[8192] = {0}; + + if (file_exists(cfg.repos.data)) { + FILE *rfile = fopen(cfg.repos.data, "r"); + if (rfile) { + while (fgets(rfile_line, sizeof(rfile_line), rfile)) { + strcat(rfile_contents, rfile_line); + } + fclose(rfile); + is_previous_repos = true; + } + } + + char *previous_repos = is_previous_repos ? rfile_contents : ""; + + FILE *wfile = fopen(cfg.repos.data, "w"); + if (wfile) { + fprintf(wfile, + "%srepositories[\"%s\"] = { url = \"%s\" }\n", + previous_repos, pkg->name.data, pkg->url.data + ); + fclose(wfile); + } +} |
