+/* mkarchive.c
+
+ Part of the rfx installer (Main program).
+
+ Copyright (c) 2004-2008 Matthias Kramm <kramm@quiss.org>
+
+ 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 <stdlib.h>
#include <stdio.h>
#include <unistd.h>
{
int t;
char buf[320];
+ int num = 0;
+
+ int fullsize = 0;
+ for(t=1;t<argn;t++)
+ {
+ if(argv[t][0]!='-')
+ {
+ FILE*fi=fopen(argv[t],"rb");
+ if(fi) {
+ fseek(fi,0,SEEK_END);
+ long l=ftell(fi);
+ fclose(fi);
+ fullsize += l;
+ num++;
+ }
+ }
+ }
+
#ifdef ZLIB
writer_t*include_writer = writer_init_includewriter("crnfiles.c");
unlink("crnfiles.c");
writer_t*zwriter = writer_init_filewriter("crnfiles.dat");
#endif
+ unsigned char n1=num;
+ unsigned char n2=num>>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);
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";
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";
}
#endif
+ fi = fopen("crnfiles.c", "ab+");
+ fprintf(fi, "\nint crn_decompressed_size=%d;\n", fullsize);
+ fclose(fi);
+
return 0;
}