procps-3.2.7-0x9b.patch 899 B

1234567891011121314151617181920212223242526272829
  1. diff -up procps-3.2.7/proc/escape.c.p8 procps-3.2.7/proc/escape.c
  2. --- procps-3.2.7/proc/escape.c.p8 2005-01-05 21:50:26.000000000 +0100
  3. +++ procps-3.2.7/proc/escape.c 2008-09-01 11:31:15.000000000 +0200
  4. @@ -79,6 +79,7 @@ static int escape_str_utf8(char *restric
  5. // multibyte - printable
  6. // Got space?
  7. if (my_cells+wlen > *maxcells || my_bytes+1+len >= bufsize) break;
  8. +#ifdef OUTPUT_PARANOID
  9. // 0x9b is control byte for some terminals
  10. if (memchr(src, 0x9B, len)) {
  11. // unsafe multibyte
  12. @@ -87,13 +88,16 @@ static int escape_str_utf8(char *restric
  13. my_cells++;
  14. my_bytes++;
  15. } else {
  16. +#endif
  17. // safe multibyte
  18. memcpy(dst, src, len);
  19. my_cells += wlen;
  20. dst += len;
  21. my_bytes += len;
  22. src += len;
  23. +#ifdef OUTPUT_PARANOID
  24. }
  25. +#endif
  26. }
  27. }
  28. //fprintf(stdout, "cells: %d\n", my_cells);