this fixes a bug triggered by steve's bug report.

; diffy -c readjpg.c
/n/dump/2009/0914/sys/src/cmd/jpg/readjpg.c:441,453 - readjpg.c:441,452
        uchar tmp[2];
  
        m = marker(h);
-       switch(m){
-       case EOI:
+       if(m == EOI || (m&~7) == RST){
                *markerp = m;
                return 0;
-       case 0:
-               jpgerror(h, "ReadJPG: expecting marker; saw %.2x at offset 
%lld", m, Boffset(h->fd));
        }
+       if(m == 0)
+               jpgerror(h, "ReadJPG: expecting marker; saw %.2x at offset 
%lld", m, Boffset(h->fd));
        if(Bread(h->fd, tmp, 2) != 2)
      Readerr:
                jpgerror(h, readerr);

- erik

Reply via email to