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); }