Fixes a bug which disallows tab complete on empty input and a sorting bug which didnt account for locale by Brandon Turner
Modified: trunk/reactos/subsys/system/cmd/filecomp.c

Modified: trunk/reactos/subsys/system/cmd/filecomp.c
--- trunk/reactos/subsys/system/cmd/filecomp.c	2005-08-05 10:35:32 UTC (rev 17069)
+++ trunk/reactos/subsys/system/cmd/filecomp.c	2005-08-05 15:40:53 UTC (rev 17070)
@@ -413,7 +413,7 @@
 			szSearch = szSearch1;
 		/* Move one char past */
 		szSearch++;		
-    szSearch[0] = _T('\0');
+      szSearch[0] = _T('\0');
 		_tcscpy(szPrefix,str);
 		return;
 	
@@ -501,7 +501,8 @@
 	memcpy(File1,arg1,sizeof(FileName));
 	memcpy(File2,arg2,sizeof(FileName));
 
-	ret = _tcsicmp(File1->Name, File2->Name);
+	 /* ret = _tcsicmp(File1->Name, File2->Name); */
+	 ret = lstrcmpi(File1->Name, File2->Name);
 
 	free(File1);
 	free(File2);
@@ -552,17 +553,19 @@
 		str[cusor] = _T('\0');
 
 	/* Look to see if they hit tab again, if so cut off the diff length */
-	if(_tcscmp(str,LastReturned))
+	if(_tcscmp(str,LastReturned) || !_tcslen(str))
 	{
 	/* We need to know how many chars we added from the start */
 	StartLength = _tcslen(str);
 	
 	/* no string, we need all files in that directory */
 	if(!StartLength)
+	{
 		_tcscat(str,_T("*"));
+	}
 
 	/* Zero it out first */
-  szBaseWord[0] = _T('\0');
+   szBaseWord[0] = _T('\0');
 	szPrefix[0] = _T('\0');
 
 	/*What comes out of this needs to be: