Release 970804
[wine] / libtest / expand.c
1 #include <stdlib.h>
2 #include <stdio.h>
3 #include <string.h>
4 #include <windows.h>
5 #include <lzexpand.h>
6
7 int PASCAL WinMain(HINSTANCE hinstCurrent,
8                                 HINSTANCE hinstPrevious,
9                                 LPSTR lpCmdLine,
10                                 int nCmdShow)
11 {
12   OFSTRUCT SourceOpenStruct1, SourceOpenStruct2;
13   char OriginalName[256], WriteBuf[256];
14   char FAR *lpzDestFile,
15                         FAR *lpzHolder = lpCmdLine,
16                         FAR *arrgv[2] = {0};
17   int wargs;
18   DWORD dwreturn;
19   HFILE hSourceFile, hDestFile;
20
21   for (wargs = 1; wargs < 3; wargs++)
22   {arrgv[wargs] = lpzHolder;
23   for (; *lpzHolder != '\0'; lpzHolder++)
24         if (*lpzHolder == ' ') {*lpzHolder++ = '\0'; break;};
25         };
26
27 MessageBox((HWND)NULL, (LPCSTR)arrgv[1], (LPCSTR)"arrgv[1]:", MB_OK);
28 MessageBox((HWND)NULL, (LPCSTR)arrgv[2], (LPCSTR)"arrgv[2]:", MB_OK);
29
30   hSourceFile = LZOpenFile(arrgv[1], (LPOFSTRUCT) &SourceOpenStruct1,
31                         OF_READ);
32
33 wsprintf(WriteBuf, "Source File Handle: %d\nNo. of args: %d",
34            hSourceFile, wargs);
35 MessageBox((HWND)NULL, (LPCSTR)WriteBuf, (LPCSTR)NULL, MB_OK);
36
37   if ((wargs == 3) && (arrgv[2] != NULL)) lpzDestFile = arrgv[2];
38   else
39   {
40   lpzDestFile = OriginalName;
41   GetExpandedName(arrgv[1], lpzDestFile);
42   };
43
44  MessageBox((HWND)NULL, (LPCSTR)lpzDestFile, (LPCSTR)"Destination File",
45                 MB_OK);
46
47   hDestFile = LZOpenFile(lpzDestFile, (LPOFSTRUCT) &SourceOpenStruct2,
48                         OF_CREATE | OF_WRITE);
49 wsprintf(WriteBuf, "Destination File Handle: %d\nNo. of args: %d",
50            hDestFile, wargs-1);
51 MessageBox((HWND)NULL, (LPCSTR)WriteBuf, (LPCSTR)NULL, MB_OK);
52
53   dwreturn = LZCopy(hSourceFile, hDestFile);
54
55   if (dwreturn == LZERROR_BADINHANDLE)
56          MessageBox((HWND)NULL, (LPCSTR)"LZERROR_BADINHANDLE\n", (LPCSTR)NULL, MB_OK);
57   if (dwreturn == LZERROR_BADOUTHANDLE)
58          MessageBox((HWND)NULL, (LPCSTR)"LZERROR_BADOUTHANDLE\n", (LPCSTR)NULL, MB_OK);
59   if (dwreturn ==  LZERROR_BADVALUE)
60         MessageBox((HWND)NULL,  (LPCSTR)"LZERROR_BADVALUE\n", (LPCSTR)NULL, MB_OK);
61   if (dwreturn ==  LZERROR_GLOBALLOC)
62         MessageBox((HWND)NULL,  (LPCSTR)"LZERROR_GLOBALLOC\n", (LPCSTR)NULL, MB_OK);
63   if (dwreturn ==  LZERROR_GLOBLOCK)
64         MessageBox((HWND)NULL,  (LPCSTR)"LZERROR_GLOBLOCK\n", (LPCSTR)NULL, MB_OK);
65   if (dwreturn ==  LZERROR_READ)
66         MessageBox((HWND)NULL,  (LPCSTR)"LZERROR_READ\n", (LPCSTR)NULL, MB_OK);
67   if (dwreturn ==  LZERROR_WRITE)
68         MessageBox((HWND)NULL,  (LPCSTR)"LZERROR_WRITE\n", (LPCSTR)NULL, MB_OK);
69   if ((long)dwreturn > 0L)
70    {wsprintf((LPSTR)WriteBuf, (LPCSTR)"Successful decompression from %s to %s\n",
71                            arrgv[1], lpzDestFile);
72         MessageBox((HWND)NULL, (LPSTR)WriteBuf, (LPCSTR)NULL, MB_OK);
73         };
74   LZClose(hSourceFile); LZClose(hDestFile);
75   return dwreturn;
76 }