[PATCH 2/4] msvcrt: Support expand_wildcards parameter in __getmainargs function
Alexandre Julliard
julliard at winehq.org
Thu Dec 13 11:38:37 CST 2012
Piotr Caban <piotr at codeweavers.com> writes:
> @@ -359,6 +360,51 @@ void msvcrt_free_args(void)
> HeapFree(GetProcessHeap(), 0, MSVCRT__wenviron);
> HeapFree(GetProcessHeap(), 0, MSVCRT__pgmptr);
> HeapFree(GetProcessHeap(), 0, MSVCRT__wpgmptr);
> + HeapFree(GetProcessHeap(), 0, argv_expand);
> +}
> +
> +static int build_expanded_argv(int *argc, char **argv)
> +{
> + int i, size=0, args_no=0;
> + HANDLE h;
> +
> + args_no = 0;
> + for(i=0; i<__wine_main_argc; i++) {
> + WIN32_FIND_DATAA data;
> + int len = 0;
> +
> + h = FindFirstFileA(__wine_main_argv[i], &data);
> + if(h != INVALID_HANDLE_VALUE) {
> + do {
> + if(data.cFileName[0]=='.' && (data.cFileName[1]=='\0' ||
> + (data.cFileName[1]=='.' && data.cFileName[2]=='\0')))
> + continue;
> +
> + len = strlen(data.cFileName)+1;
> + if(argv) {
> + argv[args_no] = (char*)(argv+*argc)+size;
> + memcpy(argv[args_no], data.cFileName, len*sizeof(char));
> + }
That won't work if the wildcard contains a path.
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list