7 int PASCAL WinMain(HINSTANCE hinstCurrent,
8 HINSTANCE hinstPrevious,
12 OFSTRUCT SourceOpenStruct1, SourceOpenStruct2;
13 char OriginalName[256], WriteBuf[256];
14 char FAR *lpzDestFile,
15 FAR *lpzHolder = lpCmdLine,
19 HFILE hSourceFile, hDestFile;
21 for (wargs = 1; wargs < 3; wargs++)
22 {arrgv[wargs] = lpzHolder;
23 for (; *lpzHolder != '\0'; lpzHolder++)
24 if (*lpzHolder == ' ') {*lpzHolder++ = '\0'; break;};
27 MessageBox((HWND)NULL, (LPCSTR)arrgv[1], (LPCSTR)"arrgv[1]:", MB_OK);
28 MessageBox((HWND)NULL, (LPCSTR)arrgv[2], (LPCSTR)"arrgv[2]:", MB_OK);
30 hSourceFile = LZOpenFile(arrgv[1], (LPOFSTRUCT) &SourceOpenStruct1,
33 wsprintf(WriteBuf, "Source File Handle: %d\nNo. of args: %d",
35 MessageBox((HWND)NULL, (LPCSTR)WriteBuf, (LPCSTR)NULL, MB_OK);
37 if ((wargs == 3) && (arrgv[2] != NULL)) lpzDestFile = arrgv[2];
40 lpzDestFile = OriginalName;
41 GetExpandedName(arrgv[1], lpzDestFile);
44 MessageBox((HWND)NULL, (LPCSTR)lpzDestFile, (LPCSTR)"Destination File",
47 hDestFile = LZOpenFile(lpzDestFile, (LPOFSTRUCT) &SourceOpenStruct2,
48 OF_CREATE | OF_WRITE);
49 wsprintf(WriteBuf, "Destination File Handle: %d\nNo. of args: %d",
51 MessageBox((HWND)NULL, (LPCSTR)WriteBuf, (LPCSTR)NULL, MB_OK);
53 dwreturn = LZCopy(hSourceFile, hDestFile);
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);
74 LZClose(hSourceFile); LZClose(hDestFile);