Don't use malloc.h header on OpenBSD. Index: lgrind.c --- lgrind.c.orig +++ lgrind.c @@ -94,7 +94,6 @@ static char rcsid[] = #include #include #include -#include #include /* One of the following two (depending on your system) */ #include @@ -516,7 +515,8 @@ int main(int argc, char **argv) printf("\\File{"); putstr(fname); printf("}{%d}{%d}{%d}{%d:%02d}{%ld}\n", modtime.tm_year+1900, modtime.tm_mon+1, - modtime.tm_mday, modtime.tm_hour, modtime.tm_min, stbuf.st_size); + modtime.tm_mday, modtime.tm_hour, modtime.tm_min, + (long)stbuf.st_size); } code = FALSE; @@ -1383,7 +1383,7 @@ boolean putKcp(char *start, char *end, boolean nix) /* * First split off numbers. We have a rather ad hoc * definition: A number is a digit followed by any number - * of digits or letters, and periods. + * of hex digits, and periods. * (Additionally a number can start with %|$|% (e.g. hex numbers).) * This produces meaningless parses --- %$.2$% is parsed as %|.|% * followed by the number %|2|% --- but should produce decent @@ -1413,7 +1413,7 @@ boolean putKcp(char *start, char *end, boolean nix) else outchar(c); c = *start++; - } while (isalnum(c) || (c == '.' && *start != '.')); + } while (isxdigit(c) || (c == '.' && *start != '.')); putchar('}'); start--; continue;