aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorShav Kinderlehrer <[email protected]>2023-04-13 09:03:33 -0400
committerShav Kinderlehrer <[email protected]>2023-04-13 09:03:33 -0400
commit5f01703842daf79a5beb9b2d87bf42034346de03 (patch)
tree652ef2af1318c015954edbc1fe5d70ba8e2812a6 /src/main.c
parent58e0d435c38c0b4e6c59244436556dba6ed96abf (diff)
downloadlat-5f01703842daf79a5beb9b2d87bf42034346de03.tar.gz
lat-5f01703842daf79a5beb9b2d87bf42034346de03.zip
Add argsv0.5.0
- --help - --version
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/main.c b/src/main.c
index dc4d5f8..59b0849 100644
--- a/src/main.c
+++ b/src/main.c
@@ -23,9 +23,9 @@ void run(FILE *fp, char *filename, int tty) {
f = readfile(fp);
if (tty) {
- char *addon = f.binary ? " <binary>" : "";
- fprintf(stderr, "\r%s%s%s%s\r\n", invert_t, basename(filename), addon,
- uinvert_t);
+ char *addon = f.binary ? "<binary>" : "";
+ fprintf(stderr, "\r\x1b[2K%s%s%s%s\r\n", invert_t, basename(filename),
+ addon, uinvert_t);
}
int lcpad = intlen(f.lc);
@@ -82,7 +82,7 @@ int main(int argc, char *argv[]) {
if (argc > 1) {
int offset = parseargs(argc, argv);
- for (int i = offset; i < argc; i++) { // start at one to offset argv[0]
+ for (int i = offset; i < argc; i++) {
FILE *fp = fopen(argv[i], "rb");
if (fp == NULL)
die(argv[i]);
@@ -91,10 +91,14 @@ int main(int argc, char *argv[]) {
run(fp, argv[i], tty);
fclose(fp);
- if (i + 1 != argc) {
- fprintf(stderr, "\r\n"); // separate concurrent files
+ if (tty && (i + 1 != argc)) {
+ fprintf(stderr, "\r\n"); // separate concurrent files in tty
}
}
+
+ if (offset == argc) {
+ run(stdin, "stdin", 1);
+ }
} else {
run(stdin, "stdin", 1); // for piped-input or repl-like behavior
}