shell32: Fixed handling of null-terminated file list in SHFileOperation.
diff --git a/dlls/shell32/shlfileop.c b/dlls/shell32/shlfileop.c
index 18d1133..d6c9159 100644
--- a/dlls/shell32/shlfileop.c
+++ b/dlls/shell32/shlfileop.c
@@ -791,29 +791,19 @@
 static DWORD count_files(LPCWSTR szFileList)
 {
     DWORD dwCount = 0;
-    LPCWSTR p = szFileList;
-    LPCWSTR q = p + 1;
-    LPCWSTR str = p;
+    LPCWSTR str = szFileList;
 
     /* test empty list */
-    if (!szFileList[0] && !szFileList[1])
-        return -1;
-    
-    /* p,q search: stop when we reach double null terminator */
-    while (*p || *q)
+    if (!szFileList[0]) return -1;
+
+    while (*str)
     {
-        if (!*q)
-        {
-            if (StrPBrkW(str, wWildcardChars))
-                dwCount += count_wildcard_files(str);
-            else
-                dwCount++;
+        if (StrPBrkW(str, wWildcardChars))
+            dwCount += count_wildcard_files(str);
+        else
+            dwCount++;
 
-            str = q + 1;
-        }
-
-        p++;
-        q++;
+        str += lstrlenW(str) + 1;
     }
 
     return dwCount;