]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/widechar/widechars.c
ncurses 6.1 - patch 20190413
[ncurses.git] / ncurses / widechar / widechars.c
index c86b8a0660597fa037edbc4088700e8fd312f387..28c362aa628c0e910c6774b37ee830b0d2b32d79 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 2012 Free Software Foundation, Inc.                        *
+ * Copyright (c) 2012-2013,2018 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -30,9 +30,9 @@
 
 #if USE_WIDEC_SUPPORT
 
-MODULE_ID("$Id: widechars.c,v 1.4 2012/12/02 01:50:59 tom Exp $")
+MODULE_ID("$Id: widechars.c,v 1.6 2018/06/24 00:06:37 tom Exp $")
 
-#if defined(__MINGW32__)
+#if defined(_WIN32)
 /*
  * MinGW has wide-character functions, but they do not work correctly.
  */
@@ -46,9 +46,9 @@ _nc_mbtowc(wchar_t *pwc, const char *s, size_t n)
 
     if (s != 0 && n != 0) {
        /*
-        * MultiByteToWideChar() can decide to return more than one wide-character.
-        * We want only one. Ignore any trailing null, both in the initial count
-        * and in the conversion.
+        * MultiByteToWideChar() can decide to return more than one
+        * wide-character.  We want only one.  Ignore any trailing null, both
+        * in the initial count and in the conversion.
         */
        count = 0;
        for (try = 1; try <= (int) n; ++try) {
@@ -67,6 +67,7 @@ _nc_mbtowc(wchar_t *pwc, const char *s, size_t n)
            result = -1;
        } else {
            wchar_t actual[2];
+           memset(&actual, 0, sizeof(actual));
            count = MultiByteToWideChar(CP_UTF8,
                                        MB_ERR_INVALID_CHARS,
                                        s,
@@ -146,6 +147,6 @@ _nc_wctomb(char *s, wchar_t wc)
     return result;
 }
 
-#endif /* __MINGW32__ */
+#endif /* _WIN32 */
 
 #endif /* USE_WIDEC_SUPPORT */