advpack: Implement ExtractFilesW [try 2]

James Hawkins truiken at
Thu Jun 11 17:04:31 CDT 2009

2009/6/11 Vladimir Pankratov <scriptkid at>:
> Hello all.
> Implemented ExtractFilesW
> Changed files:
>  advpack/files.c

+    if (GetFileAttributesA(ExpandDir) == INVALID_FILE_ATTRIBUTES)

Why are you testing this in ExtractFilesA?  Almost all of the logic
should be passed on to ExtractFilesW so we don't duplicate code.

+    if (FileList != NULL)

Please don't change the style of the file.  if (FileList) is fine.

+        WideCharToMultiByte( CP_ACP, 0, FileList, -1, szFileList,
sizeof(szFileList), NULL, NULL );
+        szConvertedList = convert_file_list(szFileList, &dwFileCount);

I'm not sure this is the way to go.  You're converting A -> W -> A.
This happens because cabinet.Extract is (as far as we know) ansi-only.
 In this case, I think it's ok to make ExtractFilesW call into
ExtractFilesA, with an appropriate comment as to why this is

James Hawkins

More information about the wine-devel mailing list