]> git.saurik.com Git - wxWidgets.git/commitdiff
always return length of the string, *not* size of the buffer from wxMBConv_win32...
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 26 Sep 2003 18:15:09 +0000 (18:15 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 26 Sep 2003 18:15:09 +0000 (18:15 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23938 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/strconv.cpp

index dd7e60edfbb11c17d9ce69a5b3dd07fc029a93c4..6621f29859f46fc4ba56a90a244e39ce77a6a086 100644 (file)
@@ -1137,9 +1137,10 @@ public:
                                 buf ? n : 0     // size of output buffer
                              );
 
-        // note that it returns # of written chars for buf != NULL and *size*
-        // of the needed buffer for buf == NULL
-        return len ? (buf ? len : len - 1) : (size_t)-1;
+        // note that it returns count of written chars for buf != NULL and size
+        // of the needed buffer for buf == NULL so in either case the length of
+        // the string (which never includes the terminating NUL) is one less
+        return len ? len - 1 : (size_t)-1;
     }
 
     size_t WC2MB(char *buf, const wchar_t *psz, size_t n) const
@@ -1156,8 +1157,8 @@ public:
                                 NULL            // [out] was it used?
                              );
 
-        // see the comment above!
-        return len ? (buf ? len : len - 1) : (size_t)-1;
+        // see the comment above for the reason of "len - 1"
+        return len ? len - 1 : (size_t)-1;
     }
 
     bool IsOk() const