[BUG_FIXED] Fix the bug while giving command C:\NppDir>notepad++ (w/o quote), npp try to open file "notepad++".
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@610 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
parent
e098cbc677
commit
0d2efe29ea
|
@ -759,11 +759,6 @@ void Notepad_plus::saveShortcuts()
|
|||
NppParameters::getInstance()->writeShortcuts();
|
||||
}
|
||||
|
||||
void Notepad_plus::saveSession(const Session & session)
|
||||
{
|
||||
(NppParameters::getInstance())->writeSession(session);
|
||||
}
|
||||
|
||||
void Notepad_plus::doTrimTrailing()
|
||||
{
|
||||
_pEditView->execute(SCI_BEGINUNDOACTION);
|
||||
|
|
|
@ -1071,3 +1071,7 @@ const TCHAR * Notepad_plus::fileSaveSession(size_t nbFile, TCHAR ** fileNames)
|
|||
}
|
||||
|
||||
|
||||
void Notepad_plus::saveSession(const Session & session)
|
||||
{
|
||||
(NppParameters::getInstance())->writeSession(session);
|
||||
}
|
||||
|
|
|
@ -39,20 +39,27 @@ void parseCommandLine(TCHAR * commandLine, ParamVector & paramVector) {
|
|||
//params.erase(params.begin());
|
||||
//remove the first element, since thats the path the the executable (GetCommandLine does that)
|
||||
TCHAR stopChar = TEXT(' ');
|
||||
|
||||
if (commandLine[0] == TEXT('\"')) {
|
||||
stopChar = TEXT('\"');
|
||||
commandLine++;
|
||||
}
|
||||
//while this is not really DBCS compliant, space and quote are in the lower 127 ASCII range
|
||||
while(commandLine[0] && commandLine[0] != stopChar)
|
||||
{
|
||||
commandLine++;
|
||||
}
|
||||
|
||||
// For unknown reason, the following command :
|
||||
// c:\NppDir>notepad++
|
||||
// (without quote) will give string "notepad++\0notepad++\0"
|
||||
// To avoid the unexpected behaviour we check the end of string before increasing the pointer
|
||||
if (commandLine[0] != '\0')
|
||||
commandLine++; //advance past stopChar
|
||||
|
||||
//kill remaining spaces
|
||||
while(commandLine[0] == TEXT(' '))
|
||||
commandLine++;
|
||||
|
||||
|
||||
bool isFile = checkSingleFile(commandLine); //if the commandline specifies only a file, open it as such
|
||||
if (isFile) {
|
||||
paramVector.push_back(commandLine);
|
||||
|
|
Loading…
Reference in New Issue