[ENHENCEMENT] Block comment work with line characters more than 1024.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1048 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
parent
71234725a1
commit
0bd5bfa635
@ -3429,8 +3429,6 @@ bool Notepad_plus::doBlockComment(comment_mode currCommentMode)
|
|||||||
generic_string comment(commentLineSybol);
|
generic_string comment(commentLineSybol);
|
||||||
comment += TEXT(" ");
|
comment += TEXT(" ");
|
||||||
|
|
||||||
const int linebufferSize = 1024;
|
|
||||||
TCHAR linebuf[linebufferSize];
|
|
||||||
size_t comment_length = comment.length();
|
size_t comment_length = comment.length();
|
||||||
size_t selectionStart = _pEditView->execute(SCI_GETSELECTIONSTART);
|
size_t selectionStart = _pEditView->execute(SCI_GETSELECTIONSTART);
|
||||||
size_t selectionEnd = _pEditView->execute(SCI_GETSELECTIONEND);
|
size_t selectionEnd = _pEditView->execute(SCI_GETSELECTIONEND);
|
||||||
@ -3453,17 +3451,20 @@ bool Notepad_plus::doBlockComment(comment_mode currCommentMode)
|
|||||||
int lineStart = _pEditView->execute(SCI_POSITIONFROMLINE, i);
|
int lineStart = _pEditView->execute(SCI_POSITIONFROMLINE, i);
|
||||||
int lineIndent = lineStart;
|
int lineIndent = lineStart;
|
||||||
int lineEnd = _pEditView->execute(SCI_GETLINEENDPOSITION, i);
|
int lineEnd = _pEditView->execute(SCI_GETLINEENDPOSITION, i);
|
||||||
if ((lineEnd - lineIndent) >= linebufferSize) // Avoid buffer size problems
|
|
||||||
continue;
|
size_t linebufferSize = lineEnd - lineStart + 2;
|
||||||
|
TCHAR* linebuf = new TCHAR[linebufferSize];
|
||||||
|
|
||||||
lineIndent = _pEditView->execute(SCI_GETLINEINDENTPOSITION, i);
|
lineIndent = _pEditView->execute(SCI_GETLINEINDENTPOSITION, i);
|
||||||
_pEditView->getGenericText(linebuf, linebufferSize, lineIndent, lineEnd);
|
_pEditView->getGenericText(linebuf, linebufferSize, lineIndent, lineEnd);
|
||||||
|
|
||||||
generic_string linebufStr = linebuf;
|
generic_string linebufStr = linebuf;
|
||||||
|
delete [] linebuf;
|
||||||
|
|
||||||
// empty lines are not commented
|
// empty lines are not commented
|
||||||
if (lstrlen(linebuf) < 1)
|
if (linebufStr.length() < 1)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (currCommentMode != cm_comment)
|
if (currCommentMode != cm_comment)
|
||||||
{
|
{
|
||||||
//--FLS: In order to do get case insensitive comparison use strnicmp() instead case-sensitive comparison.
|
//--FLS: In order to do get case insensitive comparison use strnicmp() instead case-sensitive comparison.
|
||||||
|
Loading…
Reference in New Issue
Block a user