From b8a96b5fa7ccb6b170b1fb40c5ea4efe4519e568 Mon Sep 17 00:00:00 2001 From: dacctal Date: Mon, 29 Jun 2026 18:29:38 +0000 Subject: initialized rewrite --- src/cmd_out.c | 62 ----------------------------------------------------------- 1 file changed, 62 deletions(-) delete mode 100644 src/cmd_out.c (limited to 'src/cmd_out.c') diff --git a/src/cmd_out.c b/src/cmd_out.c deleted file mode 100644 index f2d6bf4..0000000 --- a/src/cmd_out.c +++ /dev/null @@ -1,62 +0,0 @@ -/* - - 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 . - -*/ - -#include -#include -#include -#include - -#include "cmd_out.h" - -char* cmd_out(const char *cmd) { - FILE *pipe = popen(cmd, "r"); - if (!pipe) return strdup(""); - - char buffer[128]; - size_t total_size = 0; - size_t capacity = 256; - char *result = malloc(capacity); - if (!result) { - pclose(pipe); - return strdup(""); - } - result[0] = '\0'; - - while (fgets(buffer, sizeof(buffer), pipe) != NULL) { - size_t len = strlen(buffer); - // Ensure enough space for the new chunk + 1 byte for '\0' - if (total_size + len + 1 > capacity) { - capacity *= 2; - char *new_result = realloc(result, capacity); - if (!new_result) { - free(result); - pclose(pipe); - return strdup(""); - } - result = new_result; - } - - snprintf(result + total_size, capacity - total_size, "%s", buffer); - total_size += len; - } - - pclose(pipe); - return result; -} -- cgit v1.2.3