[BACK]Return to filename.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / less

Diff for /src/usr.bin/less/filename.c between version 1.27 and 1.28

version 1.27, 2019/02/26 11:01:54 version 1.28, 2019/05/07 14:26:38
Line 334 
Line 334 
 int  int
 bin_file(int f)  bin_file(int f)
 {  {
         int n;  
         int bin_count = 0;  
         char data[256];          char data[256];
         char *p;          ssize_t i, n;
         char *pend;          wchar_t ch;
           int bin_count, len;
   
         if (!seekable(f))          if (!seekable(f))
                 return (0);                  return (0);
         if (lseek(f, (off_t)0, SEEK_SET) == (off_t)-1)          if (lseek(f, (off_t)0, SEEK_SET) == (off_t)-1)
                 return (0);                  return (0);
         n = read(f, data, sizeof (data));          n = read(f, data, sizeof (data));
         pend = &data[n];          bin_count = 0;
         for (p = data; p < pend; ) {          for (i = 0; i < n; i += len) {
                 LWCHAR c = step_char(&p, +1, pend);                  len = mbtowc(&ch, data + i, n - i);
                 if (ctldisp == OPT_ONPLUS && c == ESC) {                  if (len <= 0) {
                         do {                          bin_count++;
                                 c = step_char(&p, +1, pend);                          len = 1;
                         } while (p < pend && is_ansi_middle(c));                  } else if (iswprint(ch) == 0 && iswspace(ch) == 0 &&
                 } else if (binary_char(c))                      data[i] != '\b' &&
                       (ctldisp != OPT_ONPLUS || data[i] != ESC))
                         bin_count++;                          bin_count++;
         }          }
         /*          /*

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.28