[Bug 15326] ntdll:NtCreateFile is not parsing the file create string correctly so fails

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Jun 2 20:35:33 CDT 2009


http://bugs.winehq.org/show_bug.cgi?id=15326





--- Comment #17 from chris ahrendt <celticht32 at aol.com>  2009-06-02 20:35:32 ---
It looks like the first occurance of the parsing issue here occurs in :

trace:file:FindFirstFileExW
L"C%3A/Program%20Files/Sony/Station/LaunchPad/PatchCache2.xml" 0 0x99d438 0
(nil) 0
trace:file:RtlDosPathNameToNtPathName_U
(L"C%3A/Program%20Files/Sony/Station/LaunchPad/PatchCache2.xml",0x99d3f0,0x99d3f8,(nil))
trace:file:RtlGetFullPathName_U
(L"C%3A/Program%20Files/Sony/Station/LaunchPad/PatchCache2.xml" 520 0x99d130
0x99d3f8)
warn:file:wine_nt_to_unix_file_name
L"C%3A\\Program%20Files\\Sony\\Station\\LaunchPad\\" not found in
/home/cahrendt/.wine/dosdevices/d:/everquest
trace:file:RtlGetFullPathName_U
(L"C%3A/Program%20Files/Sony/Station/LaunchPad/PatchCache2.xml" 520 0x99d48c
(nil))


Here is the file test Example which works under windows with the other file
error:

#include <stdio.h>
#include <stdlib.h>

// enumerated data type, SUCCESS = 0, FAIL = 1
enum  {SUCCESS, FAIL};

int main(int argc, char* argv[])
{
 int  c;
 int reval = SUCCESS;

 // declare two file pointers...
 FILE *fptr1, *fptr2,*fptr3, *fptr4;

 // define the file name...
 char filename1[] = "testone.txt";
 char filename2[] = "testtwo.txt";
 char filename3[] = "test\\testtwo.txt";
 char filename4[] = "Cfile:///C%3A/Program%20Files/testfour.txt";

 if (!(fptr1 = fopen(filename1, "w")))
   {
    printf("Problem, cannot open %s.\n", filename1);
    return FAIL;
   }

 if (!(fptr2 = fopen(filename2, "r")))
   {
    printf("Problem, cannot open %s.\n", filename2);
    return FAIL;
   }

 if (!(fptr3 = fopen(filename3, "w")))
   {
    printf("Problem, cannot open %s.\n", filename3);
    return FAIL;
   }

 if (!(fptr4 = fopen(filename4, "w")))
   {
    printf("Problem, cannot open %s.\n", filename4);
    return FAIL;
   }

 printf("File Move test
\n-----------------------------------------------------\n");
 while ((c = fgetc(fptr2)) != EOF)
   {
    fputc(c, fptr1);
    fputc(c, fptr3);
    fputc(c, fptr4);
    putchar(c);
   }
 printf("\n");
 printf("\n--------------------------------------------------------\n");

 // close files...
 if (!fclose(fptr1)) printf("%s closed successfully\n", filename1);
 if (!fclose(fptr2)) printf("%s closed successfully\n", filename2);
 if (!fclose(fptr3)) printf("%s closed successfully\n", filename3);
 if (!fclose(fptr4)) printf("%s closed successfully\n", filename4);

 return SUCCESS;
}

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list