Author: tkreuzer Date: Sat Apr 14 22:22:20 2012 New Revision: 56350
URL: http://svn.reactos.org/svn/reactos?rev=56350&view=rev Log: [CMD] Add quotes to autocompleted names, when certain characters are present, not only spaces. Not sure if that's really all, but should be the most common.
Modified: trunk/reactos/base/shell/cmd/filecomp.c
Modified: trunk/reactos/base/shell/cmd/filecomp.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/filecomp.c?r... ============================================================================== --- trunk/reactos/base/shell/cmd/filecomp.c [iso-8859-1] (original) +++ trunk/reactos/base/shell/cmd/filecomp.c [iso-8859-1] Sat Apr 14 22:22:20 2012 @@ -505,6 +505,41 @@ cmd_free(File2); return ret; } + +BOOL +FileNameContainsSpecialCharacters(LPTSTR pszFileName) +{ + TCHAR chr; + + while ((chr = *pszFileName++) != _T('\0')) + { + if ((chr == _T(' ')) || + (chr == _T('!')) || + (chr == _T('%')) || + (chr == _T('&')) || + (chr == _T('(')) || + (chr == _T(')')) || + (chr == _T('{')) || + (chr == _T('}')) || + (chr == _T('[')) || + (chr == _T(']')) || + (chr == _T('=')) || + (chr == _T(''')) || + (chr == _T('`')) || + (chr == _T(',')) || + (chr == _T(';')) || + (chr == _T('^')) || + (chr == _T('~')) || + (chr == _T('+')) || + (chr == 0xB4)) // '´' + { + return TRUE; + } + } + + return FALSE; +} +
VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT cusor) { @@ -695,8 +730,8 @@ so return the first thing in the list */ strOut[0] = _T('\0');
- /* space in the name */ - if(_tcschr(FileList[Sel].Name, _T(' '))) + /* Special character in the name */ + if (FileNameContainsSpecialCharacters(FileList[Sel].Name)) { INT LastSpace; BOOL bInside;