aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShav Kinderlehrer <[email protected]>2023-04-14 22:42:55 -0400
committerShav Kinderlehrer <[email protected]>2023-04-14 22:42:55 -0400
commit6eadc6dd06dfd2fb1f61c4fd142811f10e4a4f51 (patch)
tree828018f1354a0f48010f27adfab97f87f37c13df
parentca8bb9e1c32e81751728a85bdf1acf081758b080 (diff)
downloadlat-6eadc6dd06dfd2fb1f61c4fd142811f10e4a4f51.tar.gz
lat-6eadc6dd06dfd2fb1f61c4fd142811f10e4a4f51.zip
Read file quick
-rw-r--r--include/file.h1
-rw-r--r--src/lib/file.c2
-rw-r--r--src/main.c39
3 files changed, 23 insertions, 19 deletions
diff --git a/include/file.h b/include/file.h
index df3b515..d440c87 100644
--- a/include/file.h
+++ b/include/file.h
@@ -7,6 +7,7 @@ struct filedata {
size_t len;
int binary;
char *buf;
+ char *altbuf;
};
struct filedata readfile(FILE *fp);
diff --git a/src/lib/file.c b/src/lib/file.c
index db32cef..f1efa04 100644
--- a/src/lib/file.c
+++ b/src/lib/file.c
@@ -25,7 +25,7 @@ struct filedata readfile(FILE *fp) {
die("fread");
}
- f.lc = 1000;
+ f.lc = 10000;
// guess if printable
// from https://github.com/sharkdp/content_inspector/blob/master/src/lib.rs
diff --git a/src/main.c b/src/main.c
index 5c054a1..e07a22a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -30,28 +30,30 @@ void run(FILE *fp, char *filename, bool tty) {
int lcpad = intlen(f.lc);
- f.lc = 0;
- char pc = '\0';
- char c;
- for (size_t i = 0; i < f.len; i++) {
- c = f.buf[i];
+ // f.lc = 0;
+ // char pc = '\0';
+ // char c;
+ // for (size_t i = 0; i < f.len; i++) {
+ // c = f.buf[i];
- if ((conf.lines && tty && !f.binary) && (pc == '\n' || i == 0)) {
- f.lc++;
+ // if ((conf.lines && tty && !f.binary) && (pc == '\n' || i == 0)) {
+ // f.lc++;
- int padlen = lcpad - intlen(f.lc);
- char padding[padlen];
+ // int padlen = lcpad - intlen(f.lc);
+ // char padding[padlen];
- if (padlen)
- memset(padding, ' ', padlen);
+ // if (padlen)
+ // memset(padding, ' ', padlen);
- fprintf(stderr, "\r%s%s%d:%s ", grey, padlen > 0 ? padding : "", f.lc,
- reset); // padlen < 1 causes undefined
- }
+ // fprintf(stderr, "\r%s%s%d:%s ", grey, padlen > 0 ? padding : "", f.lc,
+ // reset); // padlen < 1 causes undefined
+ // }
- pc = c;
- printf("%c", c);
- }
+ // pc = c;
+ // printf("%c", c);
+ // }
+
+ printf("%s", f.buf);
fflush(stdout); // prevent timing inconsistencies between stdout and stderr
@@ -59,7 +61,8 @@ void run(FILE *fp, char *filename, bool tty) {
float rounded;
char *format = formatbytes(f.len, &rounded);
- char *cnewline = c == '\n' ? "" : "\n";
+ // char *cnewline = c == '\n' ? "" : "\n";
+ char *cnewline = "";
fprintf(stderr, "\r%s%s%.2f %s%s\r\n", cnewline, invert_t, rounded, format,
uinvert_t);
}