aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/Document.cxx2
-rw-r--r--src/UniConversion.cxx18
-rw-r--r--src/UniConversion.h6
-rw-r--r--win32/PlatWin.cxx2
-rw-r--r--win32/ScintillaWin.cxx41
5 files changed, 35 insertions, 34 deletions
diff --git a/src/Document.cxx b/src/Document.cxx
index 4b0bd79e2..22987edfb 100644
--- a/src/Document.cxx
+++ b/src/Document.cxx
@@ -2883,7 +2883,7 @@ Sci::Position Cxx11RegexFindText(Document *doc, Sci::Position minPos, Sci::Posit
bool matched = false;
if (SC_CP_UTF8 == doc->dbcsCodePage) {
- unsigned int lenS = static_cast<unsigned int>(strlen(s));
+ size_t lenS = strlen(s);
std::vector<wchar_t> ws(lenS + 1);
#if WCHAR_T_IS_16
size_t outLen = UTF16FromUTF8(s, lenS, &ws[0], lenS);
diff --git a/src/UniConversion.cxx b/src/UniConversion.cxx
index 9f0fa34e4..b02850a06 100644
--- a/src/UniConversion.cxx
+++ b/src/UniConversion.cxx
@@ -20,9 +20,9 @@ using namespace Scintilla;
namespace Scintilla {
#endif
-unsigned int UTF8Length(const wchar_t *uptr, unsigned int tlen) {
- unsigned int len = 0;
- for (unsigned int i = 0; i < tlen && uptr[i];) {
+size_t UTF8Length(const wchar_t *uptr, size_t tlen) {
+ size_t len = 0;
+ for (size_t i = 0; i < tlen && uptr[i];) {
const unsigned int uch = uptr[i];
if (uch < 0x80) {
len++;
@@ -40,9 +40,9 @@ unsigned int UTF8Length(const wchar_t *uptr, unsigned int tlen) {
return len;
}
-void UTF8FromUTF16(const wchar_t *uptr, unsigned int tlen, char *putf, unsigned int len) {
- unsigned int k = 0;
- for (unsigned int i = 0; i < tlen && uptr[i];) {
+void UTF8FromUTF16(const wchar_t *uptr, size_t tlen, char *putf, size_t len) {
+ size_t k = 0;
+ for (size_t i = 0; i < tlen && uptr[i];) {
const unsigned int uch = uptr[i];
if (uch < 0x80) {
putf[k++] = static_cast<char>(uch);
@@ -138,10 +138,10 @@ size_t UTF16FromUTF8(const char *s, size_t len, wchar_t *tbuf, size_t tlen) {
return ui;
}
-unsigned int UTF32FromUTF8(const char *s, unsigned int len, unsigned int *tbuf, unsigned int tlen) {
- unsigned int ui=0;
+size_t UTF32FromUTF8(const char *s, size_t len, unsigned int *tbuf, size_t tlen) {
+ size_t ui=0;
const unsigned char *us = reinterpret_cast<const unsigned char *>(s);
- unsigned int i=0;
+ size_t i=0;
while ((i<len) && (ui<tlen)) {
unsigned char ch = us[i++];
unsigned int value = 0;
diff --git a/src/UniConversion.h b/src/UniConversion.h
index c5867a664..8011e05bb 100644
--- a/src/UniConversion.h
+++ b/src/UniConversion.h
@@ -16,12 +16,12 @@ const int UTF8MaxBytes = 4;
const int unicodeReplacementChar = 0xFFFD;
-unsigned int UTF8Length(const wchar_t *uptr, unsigned int tlen);
-void UTF8FromUTF16(const wchar_t *uptr, unsigned int tlen, char *putf, unsigned int len);
+size_t UTF8Length(const wchar_t *uptr, size_t tlen);
+void UTF8FromUTF16(const wchar_t *uptr, size_t tlen, char *putf, size_t len);
unsigned int UTF8CharLength(unsigned char ch);
size_t UTF16Length(const char *s, size_t len);
size_t UTF16FromUTF8(const char *s, size_t len, wchar_t *tbuf, size_t tlen);
-unsigned int UTF32FromUTF8(const char *s, unsigned int len, unsigned int *tbuf, unsigned int tlen);
+size_t UTF32FromUTF8(const char *s, size_t len, unsigned int *tbuf, size_t tlen);
unsigned int UTF16FromUTF32Character(unsigned int val, wchar_t *tbuf);
std::string FixInvalidUTF8(const std::string &text);
diff --git a/win32/PlatWin.cxx b/win32/PlatWin.cxx
index ee1d2d71c..631c38ab5 100644
--- a/win32/PlatWin.cxx
+++ b/win32/PlatWin.cxx
@@ -481,7 +481,7 @@ public:
const int stackBufferLength = 1000;
class TextWide : public VarBuffer<wchar_t, stackBufferLength> {
public:
- int tlen;
+ int tlen; // Using int instead of size_t as most Win32 APIs take int.
TextWide(const char *s, int len, bool unicodeMode, int codePage=0) :
VarBuffer<wchar_t, stackBufferLength>(len) {
if (unicodeMode) {
diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx
index cb762e54a..e296844b7 100644
--- a/win32/ScintillaWin.cxx
+++ b/win32/ScintillaWin.cxx
@@ -782,10 +782,10 @@ Sci::Position ScintillaWin::EncodedFromUTF8(char *utf8, char *encoded) const {
void ScintillaWin::AddCharUTF16(wchar_t const *wcs, unsigned int wclen) {
if (IsUnicodeMode()) {
char utfval[maxLenInputIME * 3];
- unsigned int len = UTF8Length(wcs, wclen);
+ size_t len = UTF8Length(wcs, wclen);
UTF8FromUTF16(wcs, wclen, utfval, len);
utfval[len] = '\0';
- AddCharUTF(utfval, len);
+ AddCharUTF(utfval, static_cast<unsigned int>(len));
} else {
UINT cpDest = CodePageOfDocument();
char inBufferCP[maxLenInputIME * 2];
@@ -1178,7 +1178,7 @@ sptr_t ScintillaWin::GetTextLength() {
std::vector<char> docBytes(pdoc->Length(), '\0');
pdoc->GetCharRange(&docBytes[0], 0, pdoc->Length());
if (IsUnicodeMode()) {
- return UTF16Length(&docBytes[0], static_cast<unsigned int>(docBytes.size()));
+ return UTF16Length(&docBytes[0], docBytes.size());
} else {
return ::MultiByteToWideChar(CodePageOfDocument(), 0, &docBytes[0],
static_cast<int>(docBytes.size()), NULL, 0);
@@ -1200,7 +1200,7 @@ sptr_t ScintillaWin::GetText(uptr_t wParam, sptr_t lParam) {
if (wParam == 0)
return 0;
size_t uLen = UTF16FromUTF8(&docBytes[0], docBytes.size(),
- ptr, static_cast<int>(wParam) - 1);
+ ptr, wParam - 1);
ptr[uLen] = L'\0';
return uLen;
} else {
@@ -2231,11 +2231,11 @@ void ScintillaWin::Paste() {
if (memUSelection) {
wchar_t *uptr = static_cast<wchar_t *>(memUSelection.ptr);
if (uptr) {
- unsigned int len;
+ size_t len;
std::vector<char> putf;
// Default Scintilla behaviour in Unicode mode
if (IsUnicodeMode()) {
- const unsigned int bytes = static_cast<unsigned int>(memUSelection.Size());
+ const size_t bytes = memUSelection.Size();
len = UTF8Length(uptr, bytes / 2);
putf.resize(len + 1);
UTF8FromUTF16(uptr, bytes / 2, &putf[0], len);
@@ -2247,10 +2247,10 @@ void ScintillaWin::Paste() {
NULL, 0, NULL, NULL) - 1; // subtract 0 terminator
putf.resize(len + 1);
::WideCharToMultiByte(cpDest, 0, uptr, -1,
- &putf[0], len + 1, NULL, NULL);
+ &putf[0], static_cast<int>(len) + 1, NULL, NULL);
}
- InsertPasteShape(&putf[0], len, pasteShape);
+ InsertPasteShape(&putf[0], static_cast<int>(len), pasteShape);
}
memUSelection.Unlock();
} else {
@@ -2259,27 +2259,28 @@ void ScintillaWin::Paste() {
if (memSelection) {
char *ptr = static_cast<char *>(memSelection.ptr);
if (ptr) {
- const unsigned int bytes = static_cast<unsigned int>(memSelection.Size());
- unsigned int len = bytes;
- for (unsigned int i = 0; i < bytes; i++) {
+ const size_t bytes = memSelection.Size();
+ size_t len = bytes;
+ for (size_t i = 0; i < bytes; i++) {
if ((len == bytes) && (0 == ptr[i]))
len = i;
}
+ const int ilen = static_cast<int>(len);
// In Unicode mode, convert clipboard text to UTF-8
if (IsUnicodeMode()) {
std::vector<wchar_t> uptr(len+1);
- const unsigned int ulen = ::MultiByteToWideChar(CP_ACP, 0,
- ptr, len, &uptr[0], len+1);
+ const size_t ulen = ::MultiByteToWideChar(CP_ACP, 0,
+ ptr, ilen, &uptr[0], ilen +1);
- unsigned int mlen = UTF8Length(&uptr[0], ulen);
+ const size_t mlen = UTF8Length(&uptr[0], ulen);
std::vector<char> putf(mlen+1);
UTF8FromUTF16(&uptr[0], ulen, &putf[0], mlen);
- InsertPasteShape(&putf[0], mlen, pasteShape);
+ InsertPasteShape(&putf[0], static_cast<int>(mlen), pasteShape);
} else {
- InsertPasteShape(ptr, len, pasteShape);
+ InsertPasteShape(ptr, ilen, pasteShape);
}
}
memSelection.Unlock();
@@ -2770,7 +2771,7 @@ void ScintillaWin::CopyToClipboard(const SelectionText &selectedText) {
// Default Scintilla behaviour in Unicode mode
if (IsUnicodeMode()) {
size_t uchars = UTF16Length(selectedText.Data(),
- static_cast<int>(selectedText.LengthWithTerminator()));
+ selectedText.LengthWithTerminator());
uniText.Allocate(2 * uchars);
if (uniText) {
UTF16FromUTF8(selectedText.Data(), selectedText.LengthWithTerminator(),
@@ -3069,9 +3070,9 @@ STDMETHODIMP ScintillaWin::Drop(LPDATAOBJECT pIDataSource, DWORD grfKeyState,
wchar_t *udata = static_cast<wchar_t *>(memUDrop.ptr);
if (udata) {
if (IsUnicodeMode()) {
- const int tlen = static_cast<int>(memUDrop.Size());
+ const size_t tlen = memUDrop.Size();
// Convert UTF-16 to UTF-8
- int dataLen = UTF8Length(udata, tlen/2);
+ const size_t dataLen = UTF8Length(udata, tlen/2);
data.resize(dataLen+1);
UTF8FromUTF16(udata, tlen/2, &data[0], dataLen);
} else {
@@ -3146,7 +3147,7 @@ STDMETHODIMP ScintillaWin::GetData(FORMATETC *pFEIn, STGMEDIUM *pSTM) {
GlobalMemory text;
if (pFEIn->cfFormat == CF_UNICODETEXT) {
- size_t uchars = UTF16Length(drag.Data(), static_cast<int>(drag.LengthWithTerminator()));
+ size_t uchars = UTF16Length(drag.Data(), drag.LengthWithTerminator());
text.Allocate(2 * uchars);
if (text) {
UTF16FromUTF8(drag.Data(), drag.LengthWithTerminator(),