always return length of the string, *not* size of the buffer from wxMBConv_win32::MB<->WC(), as documented (fixes bug reported in patch 789039)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23938 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2003-09-26 18:15:09 +00:00
parent 2736a5def9
commit 03a991bc7a

View 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