gcode-interpreter

A gcode interpreter I use to control lasers.
git clone git://git.christianermann.dev/{name}
Log | Files | Refs | LICENSE

commit 3a71b23e11df84aa6a8a9121e111e1431f7af8bf
parent 3f4d63ea58373d2f6ffa194d5178ce52a7e5b994
Author: Christian Ermann <christianermann@gmail.com>
Date:   Tue, 22 Oct 2024 23:32:14 -0700

Make input file a command line argument

Diffstat:
MMakefile | 2+-
Msrc/main.c | 11+++++++----
2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile @@ -2,7 +2,7 @@ all: gcc src/* -Iinclude -lm -o gcode-interpreter run: all - ./gcode-interpreter + ./gcode-interpreter CE3E3V2_3DBenchy.gcode .PHONY: clean clean: diff --git a/src/main.c b/src/main.c @@ -123,18 +123,21 @@ int main(int argc, char** argv) { freopen("error.log", "w", stderr); initialize_terminal(); - const char* filename = "CE3E3V2_3DBenchy.gcode"; + if (argc < 2) { + fprintf(stderr, "! []: input filename must be provided.\n"); + return -1; + } - FILE* file = fopen(filename, "r"); + FILE* file = fopen(argv[1], "r"); if (file == NULL) { - fprintf(stderr, "! [%s]: %s\n", filename, strerror(errno)); + fprintf(stderr, "! [%s]: %s\n", argv[1], strerror(errno)); return -1; } const char* output_filename = "out"; FILE* output_file = fopen(output_filename, "w"); if (output_file == NULL) { - fprintf(stderr, "! [%s]: %s\n", filename, strerror(errno)); + fprintf(stderr, "! [%s]: %s\n", output_filename, strerror(errno)); return -1; }