From c3fc72deb32e0928593f000fdc7550bbbdcdd9a6 Mon Sep 17 00:00:00 2001 From: George Fox Date: Tue, 7 Nov 2023 18:52:01 +0300 Subject: [PATCH] Some changes that I think makes it better --- builder/builder.c | 14 +++----------- builder/config.h | 2 +- coreutils/echo.c | 3 ++- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/builder/builder.c b/builder/builder.c index 34010c7..f1a2080 100644 --- a/builder/builder.c +++ b/builder/builder.c @@ -35,18 +35,10 @@ void Compile(const char *src, const char *output_dir) { char *path = MakePath(src, output_dir); printf("[CC] Building %s -> %s\n", src, path); - size_t len = strlen(CC) + strlen(CFLAGS) + strlen(src) + strlen(path) + 7; - char *arg = malloc(len + 1); - if (arg == NULL) { - free(path); - fprintf(stderr, "builder: malloc failed"); - exit(1); + if (fork()) { + execlp(CC, CC, CFLAGS, src, "-o", path, NULL); } - - snprintf(arg, len, "%s %s %s -o %s", CC, CFLAGS, src, path); - system(arg); - - free(arg); + free(path); } diff --git a/builder/config.h b/builder/config.h index 0274fa1..e47e89d 100644 --- a/builder/config.h +++ b/builder/config.h @@ -14,6 +14,6 @@ const char *libs[] = { "readline" }; -#define CFLAGS "-Wall -Wextra -pedantic -Os -s -I ../libmu" +#define CFLAGS "-Wall", "-Wextra", "-pedantic", "-Os", "-s", "-I", "../libmu" #define CC "cc" #endif diff --git a/coreutils/echo.c b/coreutils/echo.c index e4fe93a..9146b2b 100644 --- a/coreutils/echo.c +++ b/coreutils/echo.c @@ -8,7 +8,8 @@ int main(const int argc, const char **argv) { putchar(' '); } } - + // https://pubs.opengroup.org/onlinepubs/009604599/utilities/echo.html + // This version does not support -n option and escape-sequences putchar('\n'); return 0; }