From da0287ec63b2eeda4adeebc9f2bc13e4ebc82eaa Mon Sep 17 00:00:00 2001 From: Shav Kinderlehrer Date: Tue, 11 Apr 2023 12:32:38 -0400 Subject: [PATCH] Move to size_t where practical --- include/file.h | 2 +- include/util.h | 6 ++++-- src/lib/file.c | 2 +- src/lib/util.c | 10 +++++----- src/main.c | 6 ++++-- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/include/file.h b/include/file.h index 0d2e791..9758fad 100644 --- a/include/file.h +++ b/include/file.h @@ -4,7 +4,7 @@ #define FILE_H struct filedata { int lc; - unsigned len; + size_t len; char *buf; }; diff --git a/include/util.h b/include/util.h index 9554605..f77e226 100644 --- a/include/util.h +++ b/include/util.h @@ -1,8 +1,10 @@ #ifndef LIB_H #define LIB_H +#include + void die(const char *message); -char *formatBytes(unsigned bytes, float *rounded); +char *formatBytes(size_t bytes, float *rounded); -int intlen(unsigned i); +int intlen(size_t i); #endif diff --git a/src/lib/file.c b/src/lib/file.c index b0cd283..e2c7c5d 100644 --- a/src/lib/file.c +++ b/src/lib/file.c @@ -10,7 +10,7 @@ struct filedata readfile(FILE *fp) { f.lc = 0; f.len = 0; - unsigned bufsize = 4; + size_t bufsize = 4; f.buf = malloc(bufsize); if (f.buf == NULL) diff --git a/src/lib/util.c b/src/lib/util.c index b358ed6..6561af8 100644 --- a/src/lib/util.c +++ b/src/lib/util.c @@ -7,12 +7,12 @@ void die(const char *message) { exit(1); } -char *formatBytes(unsigned bytes, float *rounded) { +char *formatBytes(size_t bytes, float *rounded) { char *SIZES[] = {"bytes", "kB", "MB", "GB"}; - unsigned size = bytes; - unsigned div = 0; - unsigned rem = 0; + size_t size = bytes; + size_t div = 0; + size_t rem = 0; while (size >= 1024 && div < (sizeof SIZES / sizeof *SIZES)) { rem = (size % 1024); @@ -25,7 +25,7 @@ char *formatBytes(unsigned bytes, float *rounded) { return SIZES[div]; } -int intlen(unsigned i) { +int intlen(size_t i) { int l = 1; while (i > 9) { diff --git a/src/main.c b/src/main.c index 7abea76..cb346b9 100644 --- a/src/main.c +++ b/src/main.c @@ -26,16 +26,18 @@ void run(FILE *fp, char *filename) { f.lc = 0; char pc = '\0'; char c; - for (unsigned i = 0; i < f.len; i++) { + for (size_t i = 0; i < f.len; i++) { c = f.buf[i]; if (tty && (pc == '\n' || i == 0)) { f.lc++; + int padlen = lcpad - intlen(f.lc); char padding[padlen]; memset(padding, ' ', padlen); - fprintf(stderr, "\r%s%s%d:%s ", GREY, padding, f.lc, RESET); + fprintf(stderr, "\r%s%s%d:%s ", GREY, padlen > 0 ? padding : "", f.lc, + RESET); // padlen < 1 causes undefined } pc = c;