summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--bin/hi.c22
-rw-r--r--bin/man1/hi.14
2 files changed, 14 insertions, 12 deletions
diff --git a/bin/hi.c b/bin/hi.c
index 22823bcf..a4d0e835 100644
--- a/bin/hi.c
+++ b/bin/hi.c
@@ -682,18 +682,22 @@ int main(int argc, char *argv[]) {
 	}
 	if (!opts[Title]) opts[Title] = name;
 
-	size_t len = 32 * 1024;
-	if (file != stdin) {
-		struct stat stat;
-		int error = fstat(fileno(file), &stat);
-		if (error) err(EX_IOERR, "fstat");
-		len = stat.st_size;
-	}
+	struct stat stat;
+	int error = fstat(fileno(file), &stat);
+	if (error) err(EX_IOERR, "fstat");
 
-	char *str = malloc(len + 1);
+	size_t cap = (stat.st_mode & S_IFREG ? stat.st_size + 1 : 4096);
+	char *str = malloc(cap);
 	if (!str) err(EX_OSERR, "malloc");
 
-	len = fread(str, 1, len, file);
+	size_t len = 0, read;
+	while (0 < (read = fread(&str[len], 1, cap - len - 1, file))) {
+		len += read;
+		if (len + 1 < cap) continue;
+		cap *= 2;
+		str = realloc(str, cap);
+		if (!str) err(EX_OSERR, "realloc");
+	}
 	if (ferror(file)) err(EX_IOERR, "fread");
 	str[len] = '\0';
 
diff --git a/bin/man1/hi.1 b/bin/man1/hi.1
index 537acef5..c48fa796 100644
--- a/bin/man1/hi.1
+++ b/bin/man1/hi.1
@@ -1,4 +1,4 @@
-.Dd February 11, 2019
+.Dd February 12, 2019
 .Dt HI 1
 .Os
 .
@@ -23,8 +23,6 @@ highlights the contents of a
 or standard input
 and formats it
 on standard output.
-A maximum of 32K
-is read from standard input.
 .
 .Pp
 The arguments are as follows:
> 2021-02-07Fix cwm window cycling, move big by defaultJune McEnroe 2021-02-07Use class names for Foreground, Background, BorderColorJune McEnroe I'm not really sure what difference this makes, but it seems like the right thing to do to be generic? 2021-02-07Add simple battery status and clock to xsessionJune McEnroe I love how simple this is. 2021-02-07Set cursor theme and sizeJune McEnroe 2021-02-07Use scrot for up -s if no screencaptureJune McEnroe Still missing putting the URL in an X selection. 2021-02-07Enable mouse acceleration in XJune McEnroe 2021-02-07Set colours for Xt and cwmJune McEnroe And increase XTerm internalBorder. 2021-02-07Set urgency on bell in xtermJune McEnroe 2021-02-07Add bindings for brightness controlJune McEnroe Weirdly the Fn key doesn't change how the F row registers... I wonder if I can do something about that. 2021-02-07Set X key repeat rateJune McEnroe 2021-02-07Bump font size to 12June McEnroe 11 is what I use on macOS, but I feel like my eyes are working harder here. 2021-02-07Fully configure and rebind cwmJune McEnroe This is sort of a mix of trying to emulate macOS somewhat for my muscle memory and just rebinding some of the cwm defaults to use 4- rather than M-. 2021-02-07Add BintiJune McEnroe 2021-02-07Finish configuring xtermJune McEnroe 2021-02-06Enable tapping, reverse scroll, set scaling in wsconsctlJune McEnroe 2021-02-06Set root window to black on purple snowJune McEnroe 2021-02-06Add xmodmap configurationJune McEnroe 2021-02-06Add initial OpenBSD X configurationJune McEnroe cwm still needs a lot more rebinding, and I need to actually look at its other options. xterm definitely still needs some configuration, but I at least managed to get it to use a decent looking font. Very happy that OpenBSD includes Luxi Mono, which is what my usual font, Go Mono, is based on anyway. Still missing is xmodmap and such. 2021-02-06Add xterm output to schemeJune McEnroe