From 98e7e75ec6e847249e19521dfac3c1674af45721 Mon Sep 17 00:00:00 2001 From: FRIGN Date: Wed, 30 Sep 2015 20:06:22 +0200 Subject: [PATCH] Fix last offset output using skip in od(1) Yeah, if the skipping is longer than the file itself, we need to take the skip value, not the address. Also, only print the last newline when we've actually printed at least 1 address. --- od.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/od.c b/od.c index f4315ba..9521605 100644 --- a/od.c +++ b/od.c @@ -89,10 +89,10 @@ od(FILE *in, char *in_name, FILE *out, char *out_name) if (feof(in) || ferror(in) || ferror(out)) break; } - if (addr) + if (addr - skip > 0) fputc('\n', out); if (radix != 'n') { - printaddress(out, addr); + printaddress(out, MAX(addr, skip)); fputc('\n', out); } }