..fwiw.. Ian Norton wrote in <3f5a853d-6703-492b-95e6-34cbcf5b2...@entrust.com>: |Fixes #16018 by preventing the output of terminal/formatting codes \ |to stdout when listing archive content |See https://bugs.busybox.net/show_bug.cgi?id=16018 | |If stdout is a TTY unsafe chars are replaced with '?': ... |diff --git a/include/libbb.h b/include/libbb.h ... | #define isprint_asciionly(a) ((unsigned)((a) - 0x20) <= 0x7e - 0x20) | |+/* Print msg to a file-descriptor, replacing any terminal control \ |bytes with '?' if fd is a TTY */ |+static ALWAYS_INLINE void bb_safe_dump_str(FILE* fd, const char* msg) { |+ int fdno = fileno(fd); |+ if (isatty(fdno)) {
I first wrote Seeing diff hunk context i myself would then do (maybe, likely) char c; while((c = *msg++) != '\0') fputc((isprint_asciionly(c) ? c : '?'), fd); |+ } else { |+ fprintf(fd, "%s", msg); |+ } |+} But then i did a grep and found unicode_conv_to_printable(). How about simply using this?? --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) _______________________________________________ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox