]> git.saurik.com Git - wxWidgets.git/commitdiff
Fixed bug in wxConv_local.
authorOve Kaaven <ovek@arcticnet.no>
Sat, 24 Apr 1999 19:34:06 +0000 (19:34 +0000)
committerOve Kaaven <ovek@arcticnet.no>
Sat, 24 Apr 1999 19:34:06 +0000 (19:34 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2275 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/string.cpp

index 9b9cc89f0f6bc4d570282b819726dd6536cb5ee3..2d371b9fa4893a67ab64d2d8f63d177a4dff5c16 100644 (file)
@@ -2089,15 +2089,16 @@ size_t wxCSConv::MB2WC(wchar_t *buf, const char *psz, size_t n) const
   ((wxCSConv *)this)->LoadNow(); // discard constness
   if (buf) {
     if (m_cset) {
   ((wxCSConv *)this)->LoadNow(); // discard constness
   if (buf) {
     if (m_cset) {
-      for (size_t c=0; c<=n; c++)
+      for (size_t c=0; c<n; c++)
        buf[c] = m_cset->data[psz[c]];
     } else {
       // latin-1 (direct)
        buf[c] = m_cset->data[psz[c]];
     } else {
       // latin-1 (direct)
-      for (size_t c=0; c<=n; c++)
+      for (size_t c=0; c<n; c++)
        buf[c] = psz[c];
     }
        buf[c] = psz[c];
     }
+    return n;
   }
   }
-  return n;
+  return strlen(psz);
 }
 
 size_t wxCSConv::WC2MB(char *buf, const wchar_t *psz, size_t n) const
 }
 
 size_t wxCSConv::WC2MB(char *buf, const wchar_t *psz, size_t n) const
@@ -2105,17 +2106,17 @@ size_t wxCSConv::WC2MB(char *buf, const wchar_t *psz, size_t n) const
   ((wxCSConv *)this)->LoadNow(); // discard constness
   if (buf) {
     if (m_cset) {
   ((wxCSConv *)this)->LoadNow(); // discard constness
   if (buf) {
     if (m_cset) {
-      for (size_t c=0; c<=n; c++) {
+      for (size_t c=0; c<n; c++) {
        size_t n;
        for (n=0; (n<256) && (m_cset->data[n] != psz[c]); n++);
        buf[c] = (n>0xff) ? '?' : n;
       }
     } else {
       // latin-1 (direct)
        size_t n;
        for (n=0; (n<256) && (m_cset->data[n] != psz[c]); n++);
        buf[c] = (n>0xff) ? '?' : n;
       }
     } else {
       // latin-1 (direct)
-      for (size_t c=0; c<=n; c++)
+      for (size_t c=0; c<n; c++)
        buf[c] = (psz[c]>0xff) ? '?' : psz[c];
     }
        buf[c] = (psz[c]>0xff) ? '?' : psz[c];
     }
+    return n;
   }
   }
-  return n;
+  return wcslen(psz);
 }
 }
-