nmh-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Nmh-commits] [SCM] The nmh Mail Handling System branch, master, updated


From: Ken Hornstein
Subject: [Nmh-commits] [SCM] The nmh Mail Handling System branch, master, updated. 24ba06b111dbadb912fa97f74ec8595f71b04393
Date: Wed, 21 Mar 2012 18:20:11 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The nmh Mail Handling System".

The branch, master has been updated
       via  24ba06b111dbadb912fa97f74ec8595f71b04393 (commit)
      from  c2a2ca7d8d72c5a8bdadcd6f2c4dcf3c314a1066 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/nmh.git/commit/?id=24ba06b111dbadb912fa97f74ec8595f71b04393


commit 24ba06b111dbadb912fa97f74ec8595f71b04393
Author: Ken Hornstein <address@hidden>
Date:   Wed Mar 21 12:22:16 2012 -0400

    Revert previous change to get rid of MULTIBYTE_SUPPORT ifdef.  It turns out
    this breaks the Plan 9 build.  But include a check for the multibyte 
functions
    so we get MULTIBYTE_SUPPORT on systems that have it.
    
    This reverts commit bd4fca3a8a15b35a04bdc333503c901d677c12eb.

diff --git a/configure.ac b/configure.ac
index 7957fdd..0b512b3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -413,7 +413,14 @@ AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1,
 dnl ---------------
 dnl CHECK FUNCTIONS
 dnl ---------------
-AC_CHECK_FUNCS([writev lstat nl_langinfo])
+AC_CHECK_FUNCS([wcwidth mbtowc writev lstat nl_langinfo])
+
+dnl Check for multibyte character set support
+if test "x$ac_cv_header_wchar_h" = "xyes" -a "x$ac_cv_header_wctype_h" = 
"xyes" \
+    -a "x$ac_cv_func_wcwidth" = "xyes" -a "x$ac_cv_func_mbtowc" = "xyes"; then
+  AC_DEFINE(MULTIBYTE_SUPPORT, 1,
+    [Define to enable support for multibyte character sets.])
+fi
 
 dnl -------------------
 dnl CHECK FOR LIBRARIES
diff --git a/sbr/fmt_scan.c b/sbr/fmt_scan.c
index 0f5aeb0..29b87d0 100644
--- a/sbr/fmt_scan.c
+++ b/sbr/fmt_scan.c
@@ -20,8 +20,10 @@
 # include <sys/time.h>
 #endif
 #include <time.h>
-#include <wctype.h>
-#include <wchar.h>
+#ifdef MULTIBYTE_SUPPORT
+#  include <wctype.h>
+#  include <wchar.h>
+#endif
 
 #ifdef LBL
 struct msgs *fmt_current_folder; /* current folder (set by main program) */
@@ -120,9 +122,11 @@ cptrimmed(char **dest, char *str, unsigned int wid, char 
fill, size_t n) {
     int remaining;     /* remaining output width available */
     int c, ljust;
     int end;           /* number of input bytes remaining in str */
+#ifdef MULTIBYTE_SUPPORT
     int char_len;      /* bytes in current character */
     int w;
     wchar_t wide_char;
+#endif
     char *sp;          /* current position in source string */
     char *cp = *dest;  /* current position in destination string */
     char *ep = cp + n; /* end of destination buffer */
@@ -138,6 +142,7 @@ cptrimmed(char **dest, char *str, unsigned int wid, char 
fill, size_t n) {
        mbtowc(NULL, NULL, 0); /* reset shift state */
        end = strlen(str);
        while (*sp && remaining > 0 && end > 0) {
+#ifdef MULTIBYTE_SUPPORT
            char_len = mbtowc(&wide_char, sp, end);
            if (char_len <= 0 || (cp + char_len > ep))
                break;
@@ -146,6 +151,14 @@ cptrimmed(char **dest, char *str, unsigned int wid, char 
fill, size_t n) {
 
            if (iswcntrl(wide_char) || iswspace(wide_char)) {
                sp += char_len;
+#else
+           end--;
+            /* isnctrl(), etc., take an int argument.  Cygwin's ctype.h
+               intentionally warns if they are passed a char. */
+            int c = *sp;
+           if (iscntrl(c) || isspace(c)) {
+               sp++;
+#endif
                if (!prevCtrl) {
                    *cp++ = ' ';
                    remaining--;
@@ -156,6 +169,7 @@ cptrimmed(char **dest, char *str, unsigned int wid, char 
fill, size_t n) {
            }
            prevCtrl = 0;
 
+#ifdef MULTIBYTE_SUPPORT
            w = wcwidth(wide_char);
            if (w >= 0 && remaining >= w) {
                strncpy(cp, sp, char_len);
@@ -163,6 +177,10 @@ cptrimmed(char **dest, char *str, unsigned int wid, char 
fill, size_t n) {
                remaining -= w;
            }
            sp += char_len;
+#else
+           *cp++ = *sp++;
+           remaining--;
+#endif
        }
     }
 
diff --git a/uip/scansbr.c b/uip/scansbr.c
index 7eef85f..1f2785a 100644
--- a/uip/scansbr.c
+++ b/uip/scansbr.c
@@ -58,7 +58,11 @@ char *scanl = 0;                     /* text of most recent 
scanline    */
  */
 static int mh_fputs(char *, FILE *);
 
+#ifdef MULTIBYTE_SUPPORT
 #define SCAN_CHARWIDTH MB_CUR_MAX
+#else
+#define SCAN_CHARWIDTH 1
+#endif
 
 int
 scan (FILE *inb, int innum, int outnum, char *nfs, int width, int curflg,

-----------------------------------------------------------------------

Summary of changes:
 configure.ac   |    9 ++++++++-
 sbr/fmt_scan.c |   22 ++++++++++++++++++++--
 uip/scansbr.c  |    4 ++++
 3 files changed, 32 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
The nmh Mail Handling System



reply via email to

[Prev in Thread] Current Thread [Next in Thread]