Module: wine Branch: master Commit: c561b6795036cd294540323d6e05a51d4170c63b URL: http://source.winehq.org/git/wine.git/?a=commit;h=c561b6795036cd294540323d6e...
Author: Eric Pouech eric.pouech@orange.fr Date: Fri Nov 4 21:14:05 2011 +0100
expand: No longer use Unix stdio functions, but rather the kernel32 equivalent.
---
programs/expand/expand.c | 39 +++++++++++++++++++++++++++------------ 1 files changed, 27 insertions(+), 12 deletions(-)
diff --git a/programs/expand/expand.c b/programs/expand/expand.c index 3107ff6..2bede08 100644 --- a/programs/expand/expand.c +++ b/programs/expand/expand.c @@ -26,6 +26,21 @@ #include <lzexpand.h> #include <setupapi.h>
+static int myprintf(const char* format, ...) +{ + va_list va; + char tmp[8192]; + DWORD w; + int len; + + va_start(va, format); + len = vsnprintf(tmp, sizeof(tmp), format, va); + if (len > 0) + WriteFile(GetStdHandle(STD_ERROR_HANDLE), tmp, len, &w, NULL); + va_end(va); + return w; +} + static UINT CALLBACK set_outfile( PVOID context, UINT notification, UINT_PTR param1, UINT_PTR param2 ) { FILE_IN_CABINET_INFO_A *info = (FILE_IN_CABINET_INFO_A *)param1; @@ -83,9 +98,9 @@ int main(int argc, char *argv[])
if (argc < 3) { - fprintf( stderr, "Usage:\n" ); - fprintf( stderr, "\t%s infile outfile\n", argv[0] ); - fprintf( stderr, "\t%s /r infile\n", argv[0] ); + myprintf( "Usage:\n" ); + myprintf( "\t%s infile outfile\n", argv[0] ); + myprintf( "\t%s /r infile\n", argv[0] ); return 1; }
@@ -96,7 +111,7 @@ int main(int argc, char *argv[])
if (!SetupGetFileCompressionInfoExA( infile, actual_name, sizeof(actual_name), NULL, NULL, NULL, &comp )) { - fprintf( stderr, "%s: can't open input file %s\n", argv[0], infile ); + myprintf( "%s: can't open input file %s\n", argv[0], infile ); return 1; }
@@ -108,7 +123,7 @@ int main(int argc, char *argv[]) outfile_basename[0] = 0; if (!SetupIterateCabinetA( infile, 0, set_outfile, outfile_basename )) { - fprintf( stderr, "%s: can't determine original name\n", argv[0] ); + myprintf( "%s: can't determine original name\n", argv[0] ); return 1; } GetFullPathNameA( infile, sizeof(outfile), outfile, &basename_index ); @@ -119,7 +134,7 @@ int main(int argc, char *argv[]) GetExpandedNameA( infile, outfile_basename ); break; default: - fprintf( stderr, "%s: can't determine original\n", argv[0] ); + myprintf( "%s: can't determine original\n", argv[0] ); return 1; } } @@ -128,7 +143,7 @@ int main(int argc, char *argv[])
if (!lstrcmpiA( infile, outfile )) { - fprintf( stderr, "%s: can't expand file to itself\n", argv[0] ); + myprintf( "%s: can't expand file to itself\n", argv[0] ); return 1; }
@@ -137,7 +152,7 @@ int main(int argc, char *argv[]) case FILE_COMPRESSION_MSZIP: if (!SetupIterateCabinetA( infile, 0, extract_callback, outfile )) { - fprintf( stderr, "%s: cabinet extraction failed\n", argv[0] ); + myprintf( "%s: cabinet extraction failed\n", argv[0] ); return 1; } break; @@ -149,13 +164,13 @@ int main(int argc, char *argv[])
if ((hin = LZOpenFileA( infile, &ofin, OF_READ )) < 0) { - fprintf( stderr, "%s: can't open input file %s\n", argv[0], infile ); + myprintf( "%s: can't open input file %s\n", argv[0], infile ); return 1; } if ((hout = LZOpenFileA( outfile, &ofout, OF_CREATE | OF_WRITE )) < 0) { LZClose( hin ); - fprintf( stderr, "%s: can't open output file %s\n", argv[0], outfile ); + myprintf( "%s: can't open output file %s\n", argv[0], outfile ); return 1; } error = LZCopy( hin, hout ); @@ -165,7 +180,7 @@ int main(int argc, char *argv[])
if (error < 0) { - fprintf( stderr, "%s: LZCopy failed, error is %d\n", argv[0], error ); + myprintf( "%s: LZCopy failed, error is %d\n", argv[0], error ); return 1; } break; @@ -173,7 +188,7 @@ int main(int argc, char *argv[]) default: if (!CopyFileA( infile, outfile, FALSE )) { - fprintf( stderr, "%s: CopyFileA failed\n", argv[0] ); + myprintf( "%s: CopyFileA failed\n", argv[0] ); return 1; } break;