summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2000-06-20 06:55:50 +0000
committerobrien <obrien@FreeBSD.org>2000-06-20 06:55:50 +0000
commit971a426ec2c4d61ba96ef580d4ecda8f7133b100 (patch)
tree9acffbefd2007e3fafc159f7acc87ea10d627c1c /contrib
parent798c313587f725a19349e86c5db4bee75d9d14bc (diff)
downloadFreeBSD-src-971a426ec2c4d61ba96ef580d4ecda8f7133b100.zip
FreeBSD-src-971a426ec2c4d61ba96ef580d4ecda8f7133b100.tar.gz
Merge in our rev 1.2 changes (but do it in a way the Binutils maintainers
accepted): Restore traditional behavior by acknowledging tabs in strings.
Diffstat (limited to 'contrib')
-rw-r--r--contrib/binutils/binutils/strings.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/contrib/binutils/binutils/strings.c b/contrib/binutils/binutils/strings.c
index d3247ea..8bc618a 100644
--- a/contrib/binutils/binutils/strings.c
+++ b/contrib/binutils/binutils/strings.c
@@ -61,10 +61,27 @@
#include "bucomm.h"
#include "libiberty.h"
+/* Some platforms need to put stdin into binary mode, to read
+ binary files. */
+#ifdef HAVE_SETMODE
+#ifndef O_BINARY
+#ifdef _O_BINARY
+#define O_BINARY _O_BINARY
+#define setmode _setmode
+#else
+#define O_BINARY 0
+#endif
+#endif
+#if O_BINARY
+#include <io.h>
+#define SET_BINARY(f) do { if (!isatty(f)) setmode(f,O_BINARY); } while (0)
+#endif
+#endif
+
#ifdef isascii
-#define isgraphic(c) (isascii (c) && (isprint (c) || isblank (c)))
+#define isgraphic(c) (isascii (c) && (isprint (c) || (c) == '\t'))
#else
-#define isgraphic(c) (isprint (c) || isblank (c))
+#define isgraphic(c) (isprint (c) || (c) == '\t')
#endif
#ifndef errno
@@ -220,6 +237,9 @@ main (argc, argv)
if (optind >= argc)
{
datasection_only = false;
+#ifdef SET_BINARY
+ SET_BINARY (fileno (stdin));
+#endif
print_strings ("{standard input}", stdin, 0, 0, 0, (char *) NULL);
files_given = true;
}
OpenPOWER on IntegriCloud