#include <stdio.h>
#include <getopt.h>
#include <sys/types.h>
-#include "system.h"
-#include "closeout.h"
-#include "error.h"
-#include "human.h"
-#include "safe-read.h"
/* Get mbstate_t, mbrtowc(), wcwidth(). */
#if HAVE_WCHAR_H
# define iswprint(wc) 1
#endif
+/* Include this after wctype.h so that we `#undef' ISPRINT
+ (from Solaris's euc.h, from widec.h, from wctype.h) before
+ redefining and using it. */
+#include "system.h"
+
+#include "closeout.h"
+#include "error.h"
+#include "human.h"
+#include "safe-read.h"
+
/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
#if HAVE_MBRTOWC && defined mbstate_t
# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)