From 0530959f92d2a5a96ddd8b1bd75939c5e52bf6ca Mon Sep 17 00:00:00 2001 From: Emil Williams Date: Tue, 27 Feb 2024 04:04:18 +0000 Subject: [PATCH] all_args updates and output --- bake.c | 58 ++++++++++++++++------------------------------------------ 1 file changed, 16 insertions(+), 42 deletions(-) diff --git a/bake.c b/bake.c index b2e4f28..d133736 100644 --- a/bake.c +++ b/bake.c @@ -103,52 +103,27 @@ shorten(string_t s) { static string_t all_args(int argc, char ** argv) { - char * all = NULL; - size_t len = 0; - if (argc > 2) { - int i; - len = (size_t) argc; - - for (i = 2; i < argc; ++i) - { len += strlen(argv[i]); } - - all = malloc(len); - if (all) { - all[len - 1] = '\0'; - for (len = 0, i = 2; i < argc; ++i) { - strcpy(all + len, argv[i]); - len += strlen(argv[i]); - len += (i + 1 < argc); - if (i + 1 < argc) { all[len - 1] = ' '; } - } - } - } - return (string_t) { len, all ? all : calloc(0,0) }; -} - -#if 0 -static string_t -all_args(int argc, char ** argv) { string_t s = (string_t) { 0, NULL }; if (argc > 2) { - size_t i; - for (i = (size_t) argc; i > 2; --i) { - s.len += strlen(argv[i]) + 1; + size_t i, len = 0; + for (i = 2; i < (size_t) argc; ++i) { + len += strlen(argv[i]); } - s.buf = malloc(s.len + (size_t) argc); + s.buf = malloc(len); + s.len = len; if (s.buf) { - size_t len; - s.buf[s.len - 1] = '\0'; - for (len = 0, i = (size_t) argc; i > 2; --i) { + for (len = 0, i = 2; i < (size_t) argc; ++i) { strcpy(s.buf + len, argv[i]); - len += strlen(argv[i]) + 1; - s.buf[len - 1] = ' '; + len += strlen(argv[i]); + if (i + 1 < argc) { + s.buf[len - 1] = ' '; + len++; + } } } } return s; } -#endif /*** Map ***/ @@ -304,7 +279,7 @@ strip(string_t s) { static int run(char * buf) { int ret = 127; - fputs(GREEN "output" RESET ":\n", stderr); + fputs(BOLD GREEN "output" RESET ":\n", stderr); pid_t pid = fork(); if (!pid) { execl("/bin/sh", "sh", "-c", buf, NULL); @@ -342,9 +317,9 @@ main(int argc, char ** argv) { if (!s.buf) { if (errno) - { fprintf(stderr, BOLD RED "%s" RESET ": %s\n", g_filename.buf, strerror(errno)); } + { fprintf(stderr, BOLD RED "%s" RESET ": '" BOLD "%s" RESET "' %s\n", argv[0], g_filename.buf, strerror(errno)); } else - { fprintf(stderr, BOLD RED "%s" RESET ": File unrecognized.\n", g_filename.buf); } + { fprintf(stderr, BOLD RED "%s" RESET ": '" BOLD "%s" RESET "' File unrecognized.\n", argv[0], g_filename.buf); } return 1; } @@ -356,10 +331,10 @@ main(int argc, char ** argv) { free(g_short.buf); free(g_all.buf); if (!s.buf) { return 1; } - fprintf(stderr, GREEN "%s" RESET ": %s\n", argv[0], s.buf + strip(s)); + fprintf(stderr, BOLD GREEN "%s" RESET ": %s\n", argv[0], s.buf + strip(s)); ret = ret ? 0 : run(s.buf); if (ret) - { fprintf(stderr, RED "result" RESET ": " BOLD "%d\n" RESET, ret); } + { fprintf(stderr, BOLD RED "result" RESET ": " BOLD "%d\n" RESET, ret); } free(s.buf); return ret; @@ -367,4 +342,3 @@ help: fprintf(stderr, YELLOW "%s" RESET ": %s", argv[0], HELP DESC); return 1; } -