Thanks for the bug report. I'm forwarding this to bug-diffutils so that it gets a proper bug number.

-------- Forwarded Message --------
Subject: Bug in diff
Date: Mon, 29 Jun 2015 16:00:48 +0100
From: Ricardo Anido <ran...@ic.unicamp.br>
To: bug-gnu-ut...@gnu.org

If the last line of a file has a sole character and no '\n', using the flag
-B makes diff miss the difference between files. The difference is
correctly reported using flags -b or -w. Better explained by an example,
below. Notice that the last line of tmp2 has only the character 'X':

--------------------

ranido@ubuntu:~$ cat tmp1

a

b

c

ranido@ubuntu:~$ cat tmp2

a

b

c

Xranido@ubuntu:~$ od -cx tmp1

0000000   a  \n   b  \n   c  \n

           0a61    0a62    0a63

0000006

ranido@ubuntu:~$ od -cx tmp2

0000000   a  \n   b  \n   c  \n   X

           0a61    0a62    0a63    0058

0000007

ranido@ubuntu:~$ diff -B tmp1 tmp2

ranido@ubuntu:~$ diff -b tmp1 tmp2

3a4

X

\ No newline at end of file
ranido@ubuntu:~$
--------------------

Best regards, thanks for the amazing work on gnu!

---
Ricardo Anido
IC-UNICAMP
Av. Albert Einstein, 1251
13083-852 Campinas SP
Tel. (19) 3521 5863    Fax. (19) 3521 5847





Reply via email to