home *** CD-ROM | disk | FTP | other *** search
- struct FileHandle *fi,*fo,*Open();
-
- LONG l,hl,Read(),Seek();
- UBYTE *buf,*AllocMem();
-
- UWORD hunkdat[]={
- /* 0 1 2 3 4 5 6 7 */
- 0x0000,0x03F3,0x0000,0x0000,0x0000,0x0001,0x0000,0x0000,/* 0 */
- 0x0000,0x0000,0x0000,0x0010,0x0000,0x03E9,0x0000,0x0010,/* 1 */
- 0x43FA,0x002c,0x2C78,0x0004,0x4EAE,0xFDD8,0x2C40,0x4EAE,/* 2 */
- 0xFFC4,0x2200,0x41FA,0x0024,0x2618,0x2408,0x4EAE,0xFFD0,/* 3 */
- 0x224E,0x2C78,0x0004,0x4EAE,0xFE62,0x7000,0x4E75,0x646F,/* 4 */
- 0x732E,0x6C69,0x6272,0x6172,0x7900, /* 5 */
- 0x0000,0x03F2}; /* 5 */
-
- main(argc,argv)
- char *argv[];
- {
- int t;
- if (argc!=3) PrintF("Usage: %s <IN> <OUT>\n",argv[0]);
- else {
- if (!(fi=Open(argv[1],MODE_OLDFILE))) {
- PrintF("Couldn't open input-file\n");
- exit(0L);
- }
- Seek(fi,0L,OFFSET_END);
- l=Seek(fi,0L,OFFSET_BEGINNING);
- if (l<1L) {
- PrintF("Input-file empty !?\n");
- Close(fi);
- Close(fo);
- exit(0L);
- }
- if (!(fo=Open(argv[2],MODE_NEWFILE))) {
- PrintF("Couldn't open output-file\n");
- Close(fi);
- exit(0L);
- }
- Write(fo,hunkdat,20L);
- hl=16L+((l+1)>>2);
- Write(fo,&hl,4L);
- Write(fo,&(hunkdat[014]),4L);
- Write(fo,&hl,4L);
- Write(fo,&(hunkdat[020]),58L);
- Write(fo,&l,4L);
- hl=((l+1)&0xFFFFFFFCL)+2L;
- if (!(buf=AllocMem(hl,MEMF_CLEAR))) {
- PrintF("Not enough memory to read file!\n");
- Close(fi);
- Close(fo);
- exit(0L);
- }
- Read(fi,buf,l);
- Write(fo,buf,hl);
- Write(fo,&(hunkdat[055]),4L);
- Close(fi);
- Close(fo);
- }
- exit(0L);
- }
-