@@ -61,25 +61,21 @@ typedef struct _REPARSE_DATA_MOUNT_POINT
6161 BYTE Data [65536 ];
6262} REPARSE_DATA_MOUNT_POINT , * PREPARSE_DATA_MOUNT_POINT ;
6363
64-
65- LPWSTR win_errmsgW (DWORD dwErrNo )
64+ LPSTR win_errmsgA (DWORD dwErrNo )
6665{
67- LPWSTR errmsg = NULL ;
66+ LPSTR errmsg = NULL ;
6867
69- if (FormatMessageW (FORMAT_MESSAGE_MAX_WIDTH_MASK |
68+ if (FormatMessageA (FORMAT_MESSAGE_MAX_WIDTH_MASK |
7069 FORMAT_MESSAGE_FROM_SYSTEM |
71- FORMAT_MESSAGE_ALLOCATE_BUFFER ,
72- NULL ,
73- dwErrNo ,
70+ FORMAT_MESSAGE_ALLOCATE_BUFFER , NULL , dwErrNo ,
7471 MAKELANGID (LANG_NEUTRAL , SUBLANG_DEFAULT ),
75- (LPWSTR ) & errmsg ,
76- 0 ,
77- NULL ))
72+ (LPSTR )& errmsg , 0 , NULL ))
7873 return errmsg ;
7974 else
8075 return NULL ;
8176}
8277
78+
8379LPWSTR * WINAPI CommandLineToArgvW (LPCWSTR , int * );
8480
8581int main (int argc , char * argv )
@@ -170,9 +166,9 @@ int main(int argc, char *argv)
170166 switch (GetLastError ())
171167 {
172168 case ERROR_INVALID_REPARSE_DATA :
173- fwprintf (stderr ,
174- L "The reparse data on %s is invalid.\n" ,
175- wargv [1 ]);
169+ fprintf (stderr ,
170+ "The reparse data on %s is invalid.\n" ,
171+ argv [1 ]);
176172 break ;
177173
178174 case ERROR_INVALID_PARAMETER :
@@ -189,14 +185,14 @@ int main(int argc, char *argv)
189185 case ERROR_NOT_A_REPARSE_POINT :
190186 case ERROR_DIRECTORY :
191187 case ERROR_DIR_NOT_EMPTY :
192- fwprintf (stderr ,
193- L "Not a reparse point: %s \r\n" , wargv [1 ]);
188+ fprintf (stderr ,
189+ "Not a reparse point: %s \r\n" , argv [1 ]);
194190 break ;
195191
196192 default :
197- fwprintf (stderr ,
198- L "Error getting reparse data from %s: %s \r\n" ,
199- wargv [1 ], win_errmsgW (GetLastError ()));
193+ fprintf (stderr ,
194+ "Error getting reparse data from %s: %s \r\n" ,
195+ argv [1 ], win_errmsgA (GetLastError ()));
200196 }
201197
202198 return 1 ;
@@ -211,7 +207,7 @@ int main(int argc, char *argv)
211207
212208 if ((iSize + 6 > sizeof (ReparseData .Data )) | (iSize == 0 ))
213209 {
214- fwprintf (stderr , L "Name is too long: %s\r\n" , wargv [2 ]);
210+ fprintf (stderr , "Name is too long: %s\r\n" , argv [2 ]);
215211 return 4 ;
216212 }
217213
@@ -230,7 +226,7 @@ int main(int argc, char *argv)
230226 switch (GetLastError ())
231227 {
232228 case ERROR_INVALID_REPARSE_DATA :
233- fwprintf (stderr , L "Invalid target path: %s\r\n" , wargv [2 ]);
229+ fprintf (stderr , "Invalid target path: %s\r\n" , argv [2 ]);
234230 break ;
235231
236232 case ERROR_INVALID_PARAMETER :
@@ -252,9 +248,9 @@ int main(int argc, char *argv)
252248 break ;
253249
254250 default :
255- fwprintf (stderr ,
256- L "Error joining %s to %s: %s\r\n" ,
257- wargv [2 ], wargv [1 ], win_errmsgW (GetLastError ()));
251+ fprintf (stderr ,
252+ "Error joining %s to %s: %s\r\n" ,
253+ argv [2 ], argv [1 ], win_errmsgA (GetLastError ()));
258254 }
259255
260256 CloseHandle (h );
@@ -274,8 +270,8 @@ int main(int argc, char *argv)
274270 switch (GetLastError ())
275271 {
276272 case ERROR_INVALID_REPARSE_DATA :
277- fwprintf (stderr , L "The reparse data on %s is invalid.\r\n" ,
278- wargv [1 ]);
273+ fprintf (stderr , "The reparse data on %s is invalid.\r\n" ,
274+ argv [1 ]);
279275 return 1 ;
280276
281277 case ERROR_INVALID_PARAMETER :
@@ -292,13 +288,13 @@ int main(int argc, char *argv)
292288 case ERROR_NOT_A_REPARSE_POINT :
293289 case ERROR_DIRECTORY :
294290 case ERROR_DIR_NOT_EMPTY :
295- fwprintf (stderr , L "Not a reparse point: %s\r\n" , wargv [1 ]);
291+ fprintf (stderr , "Not a reparse point: %s\r\n" , argv [1 ]);
296292 break ;
297293
298294 default :
299- fwprintf (stderr ,
300- L "Error getting reparse data from %s: %s\r\n" ,
301- wargv [1 ], win_errmsgW (GetLastError ()));
295+ fprintf (stderr ,
296+ "Error getting reparse data from %s: %s\r\n" ,
297+ argv [1 ], win_errmsgA (GetLastError ()));
302298 }
303299
304300 return 1 ;
@@ -320,10 +316,10 @@ int main(int argc, char *argv)
320316 target_name .Buffer =
321317 (PWSTR )ReparseData .Data + ReparseData .NameOffset ;
322318
323- fwprintf (stdout ,
324- L "%s -> %s\r\n" ,
325- wargv [1 ],
326- & target_name );
319+ //fprintf (stdout,
320+ // "%s -> %s\r\n",
321+ // wargv[1],
322+ // &target_name);
327323
328324 return 0 ;
329325 }
0 commit comments