X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=installer%2Fmkarchive.c;h=7dab4e02afad8c0a4f2080caaaa88f10dddcc8a8;hp=7b9eb16ddb95e40d844022fa7e14176fadc77ab7;hb=c63b2bf21dc1df9a736f0b4c08f6cba828cdab92;hpb=7541c7b2436ef4a80e8d52ff52f4be2ddaa328d4 diff --git a/installer/mkarchive.c b/installer/mkarchive.c index 7b9eb16..7dab4e0 100644 --- a/installer/mkarchive.c +++ b/installer/mkarchive.c @@ -1,3 +1,23 @@ +/* mkarchive.c + + Part of the rfx installer (Main program). + + Copyright (c) 2004-2008 Matthias Kramm + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + #include #include #include @@ -36,6 +56,10 @@ writer_t*writer_init_filewriter(char*filename) { writer_t*w = malloc(sizeof(writer_t)); FILE*fi = fopen(filename, "wb"); + if(!fi) { + perror(filename); + return 0; + } filewrite_t *mr = (filewrite_t *)malloc(sizeof(filewrite_t)); mr->fi = fi; memset(w, 0, sizeof(writer_t)); @@ -260,6 +284,24 @@ int main (int argn, char*argv[]) { int t; char buf[320]; + int num = 0; + + int fullsize = 0; + for(t=1;t>8; + unsigned char n3=num>>16; + unsigned char n4=num>>24; + zwriter->write(zwriter,&n1,1); + zwriter->write(zwriter,&n2,1); + zwriter->write(zwriter,&n3,1); + zwriter->write(zwriter,&n4,1); qsort(argv+1, argn-1, sizeof(argv[0]), compare_filenames); @@ -295,6 +345,7 @@ int main (int argn, char*argv[]) else if(strstr(argv[t],".jpeg")) id="PIC"; else if(strstr(argv[t],".jpg")) id="PIC"; else if(strstr(argv[t],".tif")) id="PIC"; + else if(strstr(argv[t],".ico")) id="PIC"; else if(strstr(argv[t],".c")) id="SRC"; else if(strstr(argv[t],".cc")) id="SRC"; else if(strstr(argv[t],".cpp")) id="SRC"; @@ -308,6 +359,7 @@ int main (int argn, char*argv[]) else if(strstr(argv[t],".afm")) id="FON"; else if(strstr(argv[t],".1")) id="DOC"; else if(strstr(argv[t],".doc")) id="DOC"; + else if(strstr(argv[t],".txt")) id="TXT"; else if(strstr(argv[t],".hlp")) id="DOC"; else if(strstr(argv[t],".dll")) id="DLL"; @@ -373,6 +425,10 @@ int main (int argn, char*argv[]) } #endif + fi = fopen("crnfiles.c", "ab+"); + fprintf(fi, "\nint crn_decompressed_size=%d;\n", fullsize); + fclose(fi); + return 0; }