aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authornyamatongwe <unknown>2002-04-21 10:20:59 +0000
committernyamatongwe <unknown>2002-04-21 10:20:59 +0000
commit5ce0189a77f46696eaa1f3cc5dd0aff2bb5cabd4 (patch)
tree39857adc7906b22cb6629149b0ee36eb91f13e04 /src
parent58510c0fbafdcf5ceed956a208fc34a65cb55358 (diff)
downloadscintilla-mirror-5ce0189a77f46696eaa1f3cc5dd0aff2bb5cabd4.tar.gz
Some Win64 compatibility and size_t correctness.
Diffstat (limited to 'src')
-rw-r--r--src/AutoComplete.cxx2
-rw-r--r--src/Document.cxx9
-rw-r--r--src/Document.h2
-rw-r--r--src/Editor.cxx47
-rw-r--r--src/Editor.h6
-rw-r--r--src/PropSet.cxx22
6 files changed, 45 insertions, 43 deletions
diff --git a/src/AutoComplete.cxx b/src/AutoComplete.cxx
index 48aaee38a..d971fa12a 100644
--- a/src/AutoComplete.cxx
+++ b/src/AutoComplete.cxx
@@ -118,7 +118,7 @@ void AutoComplete::Move(int delta) {
}
void AutoComplete::Select(const char *word) {
- int lenWord = strlen(word);
+ size_t lenWord = strlen(word);
int location = -1;
const int maxItemLen=1000;
char item[maxItemLen];
diff --git a/src/Document.cxx b/src/Document.cxx
index def80c49c..22cb0c2b0 100644
--- a/src/Document.cxx
+++ b/src/Document.cxx
@@ -512,15 +512,16 @@ bool Document::InsertString(int position, const char *s) {
}
// Insert a string with a length
-bool Document::InsertString(int position, const char *s, int insertLength) {
+bool Document::InsertString(int position, const char *s, size_t insertLength) {
bool changed = false;
char *sWithStyle = new char[insertLength * 2];
if (sWithStyle) {
- for (int i = 0; i < insertLength; i++) {
+ for (size_t i = 0; i < insertLength; i++) {
sWithStyle[i*2] = s[i];
sWithStyle[i*2 + 1] = 0;
}
- changed = InsertStyledString(position*2, sWithStyle, insertLength*2);
+ changed = InsertStyledString(position*2, sWithStyle,
+ static_cast<int>(insertLength*2));
delete []sWithStyle;
}
return changed;
@@ -928,7 +929,7 @@ long Document::FindText(int minPos, int maxPos, const char *s,
// Compute actual search ranges needed
int lengthFind = *length;
if (lengthFind == -1)
- lengthFind = strlen(s);
+ lengthFind = static_cast<int>(strlen(s));
int endSearch = endPos;
if (startPos <= endPos) {
endSearch = endPos - lengthFind + 1;
diff --git a/src/Document.h b/src/Document.h
index 9743583fe..34c49a5a6 100644
--- a/src/Document.h
+++ b/src/Document.h
@@ -160,7 +160,7 @@ public:
bool InsertChar(int pos, char ch);
bool InsertString(int position, const char *s);
- bool InsertString(int position, const char *s, int insertLength);
+ bool InsertString(int position, const char *s, size_t insertLength);
void ChangeChar(int pos, char ch);
void DelChar(int pos);
void DelCharBack(int pos);
diff --git a/src/Editor.cxx b/src/Editor.cxx
index 133e62b40..ef813fc05 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -2468,7 +2468,7 @@ void Editor::NotifyChar(int ch) {
char txt[2];
txt[0] = static_cast<char>(ch);
txt[1] = '\0';
- NotifyMacroRecord(SCI_REPLACESEL, 0, reinterpret_cast<long>(txt));
+ NotifyMacroRecord(SCI_REPLACESEL, 0, reinterpret_cast<sptr_t>(txt));
}
}
@@ -3260,9 +3260,9 @@ void Editor::Indent(bool forwards) {
* @return The position of the found text, -1 if not found.
*/
long Editor::FindText(
- unsigned long wParam, ///< Search modes : @c SCFIND_MATCHCASE, @c SCFIND_WHOLEWORD,
+ uptr_t wParam, ///< Search modes : @c SCFIND_MATCHCASE, @c SCFIND_WHOLEWORD,
///< @c SCFIND_WORDSTART or @c SCFIND_REGEXP.
- long lParam) { ///< @c TextToFind structure: The text to search for in the given range.
+ sptr_t lParam) { ///< @c TextToFind structure: The text to search for in the given range.
TextToFind *ft = reinterpret_cast<TextToFind *>(lParam);
int lengthFound = strlen(ft->lpstrText);
@@ -3301,9 +3301,9 @@ void Editor::SearchAnchor() {
*/
long Editor::SearchText(
unsigned int iMessage, ///< Accepts both @c SCI_SEARCHNEXT and @c SCI_SEARCHPREV.
- unsigned long wParam, ///< Search modes : @c SCFIND_MATCHCASE, @c SCFIND_WHOLEWORD,
+ uptr_t wParam, ///< Search modes : @c SCFIND_MATCHCASE, @c SCFIND_WHOLEWORD,
///< @c SCFIND_WORDSTART or @c SCFIND_REGEXP.
- long lParam) { ///< The text to search for.
+ sptr_t lParam) { ///< The text to search for.
const char *txt = reinterpret_cast<char *>(lParam);
int pos;
@@ -4116,6 +4116,10 @@ static bool ValidMargin(unsigned long wParam) {
return wParam < ViewStyle::margins;
}
+static char *CharPtrFromSPtr(sptr_t lParam) {
+ return reinterpret_cast<char *>(lParam);
+}
+
sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
//Platform::DebugPrintf("S start wnd proc %d %d %d\n",iMessage, wParam, lParam);
@@ -4129,7 +4133,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
{
if (lParam == 0)
return 0;
- char *ptr = reinterpret_cast<char *>(lParam);
+ char *ptr = CharPtrFromSPtr(lParam);
unsigned int iChar = 0;
for (; iChar < wParam - 1; iChar++)
ptr[iChar] = pdoc->CharAt(iChar);
@@ -4143,7 +4147,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
return 0;
pdoc->DeleteChars(0, pdoc->Length());
SetEmptySelection(0);
- pdoc->InsertString(0, reinterpret_cast<char *>(lParam));
+ pdoc->InsertString(0, CharPtrFromSPtr(lParam));
return 1;
}
@@ -4191,7 +4195,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
}
int lineStart = pdoc->LineStart(wParam);
int lineEnd = pdoc->LineStart(wParam + 1);
- char *ptr = reinterpret_cast<char *>(lParam);
+ char *ptr = CharPtrFromSPtr(lParam);
int iPlace = 0;
for (int iChar = lineStart; iChar < lineEnd; iChar++) {
ptr[iPlace++] = pdoc->CharAt(iChar);
@@ -4226,7 +4230,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
return 0;
SelectionText selectedText;
CopySelectionRange(&selectedText);
- char *ptr = reinterpret_cast<char *>(lParam);
+ char *ptr = CharPtrFromSPtr(lParam);
int iChar = 0;
if (selectedText.len) {
for (; iChar < selectedText.len; iChar++)
@@ -4266,7 +4270,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
return 0;
pdoc->BeginUndoAction();
ClearSelection();
- char *replacement = reinterpret_cast<char *>(lParam);
+ char *replacement = CharPtrFromSPtr(lParam);
pdoc->InsertString(currentPos, replacement);
pdoc->EndUndoAction();
SetEmptySelection(currentPos + strlen(replacement));
@@ -4290,15 +4294,15 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
case SCI_REPLACETARGET:
PLATFORM_ASSERT(lParam);
- return ReplaceTarget(false, reinterpret_cast<char *>(lParam), wParam);
+ return ReplaceTarget(false, CharPtrFromSPtr(lParam), wParam);
case SCI_REPLACETARGETRE:
PLATFORM_ASSERT(lParam);
- return ReplaceTarget(true, reinterpret_cast<char *>(lParam), wParam);
+ return ReplaceTarget(true, CharPtrFromSPtr(lParam), wParam);
case SCI_SEARCHINTARGET:
PLATFORM_ASSERT(lParam);
- return SearchInTarget(reinterpret_cast<char *>(lParam), wParam);
+ return SearchInTarget(CharPtrFromSPtr(lParam), wParam);
case SCI_SETSEARCHFLAGS:
searchFlags = wParam;
@@ -4398,7 +4402,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
case SCI_ADDTEXT: {
if (lParam == 0)
return 0;
- pdoc->InsertString(CurrentPosition(), reinterpret_cast<char *>(lParam), wParam);
+ pdoc->InsertString(CurrentPosition(), CharPtrFromSPtr(lParam), wParam);
SetEmptySelection(currentPos + wParam);
return 0;
}
@@ -4406,7 +4410,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
case SCI_ADDSTYLEDTEXT: {
if (lParam == 0)
return 0;
- pdoc->InsertStyledString(CurrentPosition() * 2, reinterpret_cast<char *>(lParam), wParam);
+ pdoc->InsertStyledString(CurrentPosition() * 2, CharPtrFromSPtr(lParam), wParam);
SetEmptySelection(currentPos + wParam / 2);
return 0;
}
@@ -4418,13 +4422,10 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
if (static_cast<short>(wParam) == -1)
insertPos = CurrentPosition();
int newCurrent = CurrentPosition();
- int newAnchor = anchor;
- char *sz = reinterpret_cast<char *>(lParam);
+ char *sz = CharPtrFromSPtr(lParam);
pdoc->InsertString(insertPos, sz);
if (newCurrent > insertPos)
newCurrent += strlen(sz);
- if (newAnchor > insertPos)
- newAnchor += strlen(sz);
SetEmptySelection(newCurrent);
return 0;
}
@@ -4587,7 +4588,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
int lineCurrentPos = pdoc->LineFromPosition(currentPos);
int lineStart = pdoc->LineStart(lineCurrentPos);
unsigned int lineEnd = pdoc->LineStart(lineCurrentPos + 1);
- char *ptr = reinterpret_cast<char *>(lParam);
+ char *ptr = CharPtrFromSPtr(lParam);
unsigned int iPlace = 0;
for (unsigned int iChar = lineStart; iChar < lineEnd && iPlace < wParam - 1; iChar++) {
ptr[iPlace++] = pdoc->CharAt(iChar);
@@ -4617,7 +4618,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
case SCI_SETSTYLINGEX: // Specify a complete styling buffer
if (lParam == 0)
return 0;
- pdoc->SetStyles(wParam, reinterpret_cast<char *>(lParam));
+ pdoc->SetStyles(wParam, CharPtrFromSPtr(lParam));
break;
case SCI_SETBUFFEREDDRAW:
@@ -4722,7 +4723,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
case SCI_TEXTWIDTH:
PLATFORM_ASSERT((wParam >= 0) && (wParam <= STYLE_MAX));
PLATFORM_ASSERT(lParam);
- return TextWidth(wParam, reinterpret_cast<char *>(lParam));
+ return TextWidth(wParam, CharPtrFromSPtr(lParam));
case SCI_SETENDATLASTLINE:
PLATFORM_ASSERT((wParam == 0) || (wParam ==1));
@@ -4935,7 +4936,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
if (lParam == 0)
return 0;
if (wParam <= STYLE_MAX) {
- vs.SetStyleFontName(wParam, reinterpret_cast<const char *>(lParam));
+ vs.SetStyleFontName(wParam, CharPtrFromSPtr(lParam));
InvalidateStyleRedraw();
}
break;
diff --git a/src/Editor.h b/src/Editor.h
index a86008456..9eba943a6 100644
--- a/src/Editor.h
+++ b/src/Editor.h
@@ -394,7 +394,7 @@ protected: // ScintillaBase subclass needs access to much of Editor
void NotifyModified(Document *document, DocModification mh, void *userData);
void NotifyDeleted(Document *document, void *userData);
void NotifyStyleNeeded(Document *doc, void *userData, int endPos);
- void NotifyMacroRecord(unsigned int iMessage, unsigned long wParam, long lParam);
+ void NotifyMacroRecord(unsigned int iMessage, uptr_t wParam, sptr_t lParam);
void PageMove(int direction, bool extend=false);
void ChangeCaseOfSelection(bool makeUpperCase);
@@ -411,9 +411,9 @@ protected: // ScintillaBase subclass needs access to much of Editor
void Indent(bool forwards);
- long FindText(unsigned long wParam, long lParam);
+ long FindText(uptr_t wParam, sptr_t lParam);
void SearchAnchor();
- long SearchText(unsigned int iMessage, unsigned long wParam, long lParam);
+ long SearchText(unsigned int iMessage, uptr_t wParam, sptr_t lParam);
long SearchInTarget(const char *text, int length);
void GoToLine(int lineNo);
diff --git a/src/PropSet.cxx b/src/PropSet.cxx
index ba938947f..fe80c1210 100644
--- a/src/PropSet.cxx
+++ b/src/PropSet.cxx
@@ -45,7 +45,7 @@ int CompareCaseInsensitive(const char *a, const char *b) {
return *a - *b;
}
-int CompareNCaseInsensitive(const char *a, const char *b, int len) {
+int CompareNCaseInsensitive(const char *a, const char *b, size_t len) {
while (*a && *b && len) {
if (*a != *b) {
char upperA = MakeUpperCase(*a);
@@ -68,7 +68,7 @@ bool EqualCaseInsensitive(const char *a, const char *b) {
return 0 == CompareCaseInsensitive(a, b);
}
-inline unsigned int HashString(const char *s, int len) {
+inline unsigned int HashString(const char *s, size_t len) {
unsigned int ret = 0;
while (len--) {
ret <<= 4;
@@ -93,9 +93,9 @@ void PropSet::Set(const char *key, const char *val, int lenKey, int lenVal) {
if (!*key) // Empty keys are not supported
return;
if (lenKey == -1)
- lenKey = strlen(key);
+ lenKey = static_cast<int>(strlen(key));
if (lenVal == -1)
- lenVal = strlen(val);
+ lenVal = static_cast<int>(strlen(val));
unsigned int hash = HashString(key, lenKey);
for (Property *p = props[hash % hashRoots]; p; p = p->next) {
if ((hash == p->hash) &&
@@ -187,7 +187,7 @@ SString PropSet::Expand(const char *withVars) {
int lenvar = cpendvar - cpvar - 2; // Subtract the $()
char *var = StringDup(cpvar + 2, lenvar);
SString val = GetExpanded(var);
- int newlenbase = strlen(base) + val.length() - lenvar;
+ size_t newlenbase = strlen(base) + val.length() - lenvar;
char *newbase = new char[newlenbase];
strncpy(newbase, base, cpvar - base);
strcpy(newbase + (cpvar - base), val.c_str());
@@ -224,8 +224,8 @@ bool isprefix(const char *target, const char *prefix) {
}
static bool IsSuffixCaseInsensitive(const char *target, const char *suffix) {
- int lentarget = strlen(target);
- int lensuffix = strlen(suffix);
+ size_t lentarget = strlen(target);
+ size_t lensuffix = strlen(suffix);
if (lensuffix > lentarget)
return false;
for (int i = lensuffix - 1; i >= 0; i--) {
@@ -306,7 +306,7 @@ SString PropSet::GetNewExpand(const char *keybase, const char *filename) {
int lenvar = cpendvar - cpvar - 2; // Subtract the $()
char *var = StringDup(cpvar + 2, lenvar);
SString val = GetWild(var, filename);
- int newlenbase = strlen(base) + val.length() - lenvar;
+ size_t newlenbase = strlen(base) + val.length() - lenvar;
char *newbase = new char[newlenbase];
strncpy(newbase, base, cpvar - base);
strcpy(newbase + (cpvar - base), val.c_str());
@@ -340,7 +340,7 @@ void PropSet::Clear() {
}
char *PropSet::ToString() {
- unsigned int len=0;
+ size_t len=0;
for (int r = 0; r < hashRoots; r++) {
for (Property *p = props[r]; p; p = p->next) {
len += strlen(p->key) + 1;
@@ -435,8 +435,8 @@ static char **ArrayFromWordList(char *wordlist, int *len, bool onlyLineEnds = fa
if (keywords) {
words = 0;
prev = '\0';
- int slen = strlen(wordlist);
- for (int k = 0; k < slen; k++) {
+ size_t slen = strlen(wordlist);
+ for (size_t k = 0; k < slen; k++) {
if (!iswordsep(wordlist[k], onlyLineEnds)) {
if (!prev) {
keywords[words] = &wordlist[k];