Eric Pouech : expand: No longer use Unix stdio functions, but rather the kernel32 equivalent.
Alexandre Julliard
julliard at winehq.org
Mon Nov 7 13:30:42 CST 2011
Module: wine
Branch: master
Commit: c561b6795036cd294540323d6e05a51d4170c63b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c561b6795036cd294540323d6e05a51d4170c63b
Author: Eric Pouech <eric.pouech at 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;
More information about the wine-cvs
mailing list