Re: cvsweb says 'No viewable change' for i915_drv.c diffs

2013-05-16 Thread Christian Weisgerber
Stuart Henderson st...@openbsd.org wrote:

  it's not cvsweb.
  
  $ rcsdiff -u -r1.26 -r1.27 /cvs/src/sys/dev/pci/drm/i915/i915_drv.c,v
  ===
  RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_drv.c,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
 
 ...and yes, it is due to the UTF8 characters: replacing them in the ,v
 file lets it work.

Unprintable characters!  This also explains the same problem in a
number of other files, e.g. src/sbin/isakmpd/Makefile.

-- 
Christian naddy Weisgerber  na...@mips.inka.de



cvsweb says 'No viewable change' for i915_drv.c diffs

2013-05-15 Thread Alexey Suslikov
Hi.

Try this
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/drm/i915/i915_drv.c.diff?r1=1.26;r2=1.27;f=h

and, for instance, this
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/drm/i915/i915_dma.c.diff?r1=1.6;r2=1.7;f=h

Former says No viewable change. I think it isn't normal. Am I wrong?

Cheers,
Alexey



Re: cvsweb says 'No viewable change' for i915_drv.c diffs

2013-05-15 Thread Mark Kettenis
 Date: Wed, 15 May 2013 13:05:06 +0300
 From: Alexey Suslikov alexey.susli...@gmail.com
 
 Hi.
 
 Try this
 http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/drm/i915/i915_drv.c.diff?r1=1.26;r2=1.27;f=h
 
 and, for instance, this
 http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/drm/i915/i915_dma.c.diff?r1=1.6;r2=1.7;f=h
 
 Former says No viewable change. I think it isn't normal. Am I wrong?

Yes that's very annoying.  I suspect cvsweb has problems with the UTF8
characters in the copyright header.



Re: cvsweb says 'No viewable change' for i915_drv.c diffs

2013-05-15 Thread Alexey E. Suslikov
Mark Kettenis mark.kettenis at xs4all.nl writes:

  Try this
 
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/drm/i915/i915_drv.c.diff?r1=1.26;r2=1.27;f=h
  
  and, for instance, this
 
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/drm/i915/i915_dma.c.diff?r1=1.6;r2=1.7;f=h
  
  Former says No viewable change. I think it isn't normal. Am I wrong?
 
 Yes that's very annoying.  I suspect cvsweb has problems with the UTF8
 characters in the copyright header.

cvsweb operates on individual diff chunks while preparing
viewable output, right?

if so, and you are right about UTF8, only one of these chunks
is a showstopper.

maybe cvsweb may say No viewable change for a problematic
chunk only, instead of completely freaking out.



Re: cvsweb says 'No viewable change' for i915_drv.c diffs

2013-05-15 Thread Stuart Henderson
On 2013/05/15 10:43, Alexey E. Suslikov wrote:
 Mark Kettenis mark.kettenis at xs4all.nl writes:
 
   Try this
  
 http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/drm/i915/i915_drv.c.diff?r1=1.26;r2=1.27;f=h
   
   and, for instance, this
  
 http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/drm/i915/i915_dma.c.diff?r1=1.6;r2=1.7;f=h
   
   Former says No viewable change. I think it isn't normal. Am I wrong?
  
  Yes that's very annoying.  I suspect cvsweb has problems with the UTF8
  characters in the copyright header.
 
 cvsweb operates on individual diff chunks while preparing
 viewable output, right?
 
 if so, and you are right about UTF8, only one of these chunks
 is a showstopper.
 
 maybe cvsweb may say No viewable change for a problematic
 chunk only, instead of completely freaking out.
 

it's not cvsweb.

$ rcsdiff -u -r1.26 -r1.27 /cvs/src/sys/dev/pci/drm/i915/i915_drv.c,v
===
RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_drv.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27



Re: cvsweb says 'No viewable change' for i915_drv.c diffs

2013-05-15 Thread Stuart Henderson
On 2013/05/15 11:53, Stuart Henderson wrote:
 On 2013/05/15 10:43, Alexey E. Suslikov wrote:
  Mark Kettenis mark.kettenis at xs4all.nl writes:
  
Try this
   
  http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/drm/i915/i915_drv.c.diff?r1=1.26;r2=1.27;f=h

and, for instance, this
   
  http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/drm/i915/i915_dma.c.diff?r1=1.6;r2=1.7;f=h

Former says No viewable change. I think it isn't normal. Am I wrong?
   
   Yes that's very annoying.  I suspect cvsweb has problems with the UTF8
   characters in the copyright header.
  
  cvsweb operates on individual diff chunks while preparing
  viewable output, right?
  
  if so, and you are right about UTF8, only one of these chunks
  is a showstopper.
  
  maybe cvsweb may say No viewable change for a problematic
  chunk only, instead of completely freaking out.
  
 
 it's not cvsweb.
 
 $ rcsdiff -u -r1.26 -r1.27 /cvs/src/sys/dev/pci/drm/i915/i915_drv.c,v
 ===
 RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_drv.c,v
 retrieving revision 1.26
 retrieving revision 1.27
 diff -u -r1.26 -r1.27
 

...and yes, it is due to the UTF8 characters: replacing them in the ,v
file lets it work.



Re: cvsweb says 'No viewable change' for i915_drv.c diffs

2013-05-15 Thread Alexey Suslikov
googled gnu cvs utf diff and found this

http://stackoverflow.com/questions/778291/how-do-i-diff-utf-16-files-with-gnu-diff

On Wed, May 15, 2013 at 2:03 PM, Stuart Henderson st...@openbsd.org wrote:
 On 2013/05/15 11:53, Stuart Henderson wrote:
 On 2013/05/15 10:43, Alexey E. Suslikov wrote:
  Mark Kettenis mark.kettenis at xs4all.nl writes:
 
Try this
   
  http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/drm/i915/i915_drv.c.diff?r1=1.26;r2=1.27;f=h
   
and, for instance, this
   
  http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/drm/i915/i915_dma.c.diff?r1=1.6;r2=1.7;f=h
   
Former says No viewable change. I think it isn't normal. Am I wrong?
  
   Yes that's very annoying.  I suspect cvsweb has problems with the UTF8
   characters in the copyright header.
 
  cvsweb operates on individual diff chunks while preparing
  viewable output, right?
 
  if so, and you are right about UTF8, only one of these chunks
  is a showstopper.
 
  maybe cvsweb may say No viewable change for a problematic
  chunk only, instead of completely freaking out.
 

 it's not cvsweb.

 $ rcsdiff -u -r1.26 -r1.27 /cvs/src/sys/dev/pci/drm/i915/i915_drv.c,v
 ===
 RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_drv.c,v
 retrieving revision 1.26
 retrieving revision 1.27
 diff -u -r1.26 -r1.27


 ...and yes, it is due to the UTF8 characters: replacing them in the ,v
 file lets it work.




Re: cvsweb says 'No viewable change' for i915_drv.c diffs

2013-05-15 Thread Jonathan Gray
On Wed, May 15, 2013 at 11:53:45AM +0100, Stuart Henderson wrote:
 On 2013/05/15 10:43, Alexey E. Suslikov wrote:
  Mark Kettenis mark.kettenis at xs4all.nl writes:
  
Try this
   
  http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/drm/i915/i915_drv.c.diff?r1=1.26;r2=1.27;f=h

and, for instance, this
   
  http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/drm/i915/i915_dma.c.diff?r1=1.6;r2=1.7;f=h

Former says No viewable change. I think it isn't normal. Am I wrong?
   
   Yes that's very annoying.  I suspect cvsweb has problems with the UTF8
   characters in the copyright header.
  
  cvsweb operates on individual diff chunks while preparing
  viewable output, right?
  
  if so, and you are right about UTF8, only one of these chunks
  is a showstopper.
  
  maybe cvsweb may say No viewable change for a problematic
  chunk only, instead of completely freaking out.
  
 
 it's not cvsweb.
 
 $ rcsdiff -u -r1.26 -r1.27 /cvs/src/sys/dev/pci/drm/i915/i915_drv.c,v
 ===
 RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_drv.c,v
 retrieving revision 1.26
 retrieving revision 1.27
 diff -u -r1.26 -r1.27

isprint() is to blame here, ie with the following hack it shows a diff

Index: diff.c
===
RCS file: /cvs/src/usr.bin/rcs/diff.c,v
retrieving revision 1.33
diff -u -p -r1.33 diff.c
--- diff.c  20 Apr 2011 19:34:16 -  1.33
+++ diff.c  15 May 2013 11:08:20 -
@@ -1139,6 +1139,7 @@ asciifile(FILE *f)
 
rewind(f);
cnt = fread(buf, 1, sizeof(buf), f);
+return (1);
for (i = 0; i  cnt; i++)
if (!isprint(buf[i])  !isspace(buf[i]))
return (0);



Re: cvsweb says 'No viewable change' for i915_drv.c diffs

2013-05-15 Thread Stefan Sperling
On Wed, May 15, 2013 at 12:03:46PM +0100, Stuart Henderson wrote:
  $ rcsdiff -u -r1.26 -r1.27 /cvs/src/sys/dev/pci/drm/i915/i915_drv.c,v
  ===
  RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_drv.c,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  
 
 ...and yes, it is due to the UTF8 characters: replacing them in the ,v
 file lets it work.

This works: rcsdiff -a -u -r1.26 -r1.27 
/cvs/src/sys/dev/pci/drm/i915/i915_drv.c,v



Re: cvsweb says 'No viewable change' for i915_drv.c diffs

2013-05-15 Thread Stefan Sperling
On Wed, May 15, 2013 at 09:12:02PM +1000, Jonathan Gray wrote:
 isprint() is to blame here, ie with the following hack it shows a diff
 
 Index: diff.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/diff.c,v
 retrieving revision 1.33
 diff -u -p -r1.33 diff.c
 --- diff.c20 Apr 2011 19:34:16 -  1.33
 +++ diff.c15 May 2013 11:08:20 -
 @@ -1139,6 +1139,7 @@ asciifile(FILE *f)
  
   rewind(f);
   cnt = fread(buf, 1, sizeof(buf), f);
 +return (1);
   for (i = 0; i  cnt; i++)
   if (!isprint(buf[i])  !isspace(buf[i]))
   return (0);

This should make it work. See also r1.82 of usr.bin/diff/diffreg.c.

Index: diff.c
===
RCS file: /cvs/src/usr.bin/rcs/diff.c,v
retrieving revision 1.33
diff -u -p -r1.33 diff.c
--- diff.c  20 Apr 2011 19:34:16 -  1.33
+++ diff.c  15 May 2013 11:24:13 -
@@ -1132,17 +1132,14 @@ static int
 asciifile(FILE *f)
 {
unsigned char buf[BUFSIZ];
-   size_t i, cnt;
+   size_t cnt;
 
if (f == NULL)
return (1);
 
rewind(f);
cnt = fread(buf, 1, sizeof(buf), f);
-   for (i = 0; i  cnt; i++)
-   if (!isprint(buf[i])  !isspace(buf[i]))
-   return (0);
-   return (1);
+   return (memchr(buf, '\0', cnt) == NULL);
 }
 
 #define begins_with(s, pre) (strncmp(s, pre, sizeof(pre)-1) == 0)




Re: cvsweb says 'No viewable change' for i915_drv.c diffs

2013-05-15 Thread Ted Unangst
On Wed, May 15, 2013 at 13:25, Stefan Sperling wrote:
 This should make it work. See also r1.82 of usr.bin/diff/diffreg.c.

I love this bug! There's lots of copies so everybody gets a chance to
fix it.

 
 Index: diff.c
 ===
 RCS file: /cvs/src/usr.bin/rcs/diff.c,v
 retrieving revision 1.33
 diff -u -p -r1.33 diff.c
 --- diff.c20 Apr 2011 19:34:16 -  1.33
 +++ diff.c15 May 2013 11:24:13 -
 @@ -1132,17 +1132,14 @@ static int
 asciifile(FILE *f)
 {
 unsigned char buf[BUFSIZ];
 - size_t i, cnt;
 + size_t cnt;
 
 if (f == NULL)
 return (1);
 
 rewind(f);
 cnt = fread(buf, 1, sizeof(buf), f);
 - for (i = 0; i  cnt; i++)
 - if (!isprint(buf[i])  !isspace(buf[i]))
 - return (0);
 - return (1);
 + return (memchr(buf, '\0', cnt) == NULL);
 }
 
 #define begins_with(s, pre) (strncmp(s, pre, sizeof(pre)-1) == 0)



Re: cvsweb says 'No viewable change' for i915_drv.c diffs

2013-05-15 Thread Stuart Henderson
On 2013/05/15 14:14, Ted Unangst wrote:
 On Wed, May 15, 2013 at 13:25, Stefan Sperling wrote:
  This should make it work. See also r1.82 of usr.bin/diff/diffreg.c.
 
 I love this bug! There's lots of copies so everybody gets a chance to
 fix it.

if only there were a way to have a single copy of commonly used
functions so fixes only needed to be made in one place!