From aa0d78815004ae6b0c4a42b0e024f5c4ef555ae2 Mon Sep 17 00:00:00 2001 From: dacctal Date: Sun, 24 May 2026 10:23:38 +0000 Subject: c rewrite --- src/add_repo.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/add_repo.c (limited to 'src/add_repo.c') diff --git a/src/add_repo.c b/src/add_repo.c new file mode 100644 index 0000000..049347c --- /dev/null +++ b/src/add_repo.c @@ -0,0 +1,34 @@ +#include +#include +#include +#include + +#include "add_repo.h" +#include "vars.h" + +void add_repo(const char *repo, const char *repo_name) { + bool is_previous_repos = false; + char rfile_line[1024]; + char rfile_contents[8192] = {0}; + + if (file_exists(repo_file)) { + FILE *rfile = fopen(repo_file, "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(repo_file, "w"); + if (wfile) { + fprintf(wfile, "%srepositories.%s = { url = \"%s\" }\n", previous_repos, repo_name, repo); + fclose(wfile); + } + + printf("%s%sAdded %s%s\n", print_pkgit, green, repo_name, color_reset); +} \ No newline at end of file -- cgit v1.2.3