]> git.ipfire.org Git - thirdparty/sarg.git/blob - decomp.c
This commit was generated by cvs2svn to compensate for changes in r2,
[thirdparty/sarg.git] / decomp.c
1 /*
2 * AUTHOR: Pedro Lineu Orso orso@brturbo.com.br
3 * 1998, 2005
4 * SARG Squid Analysis Report Generator http://sarg-squid.org
5 *
6 * SARG donations:
7 * please look at http://sarg.sourceforge.net/donations.php
8 * ---------------------------------------------------------------------
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
23 *
24 */
25
26 #include "include/conf.h"
27
28 void decomp(char *arq, char *zip, char *tmp)
29 {
30
31 char cmd[1024];
32
33 if(access(arq, R_OK) != 0) {
34 sprintf(cmd,"%s: %s",text[64],arq);
35 debuga(cmd);
36 exit(1);
37 }
38
39 if(strstr(arq,".gz") !=0) {
40 sprintf(cmd,"%s: %s > %s/sarg-file.in (zcat)",text[62],arq,tmp);
41 debuga(cmd);
42 sprintf(cmd,"zcat %s > %s/sarg-file.in",arq,tmp);
43 system(cmd);
44 strcpy(zip,"zcat");
45 sprintf(arq,"%s/sarg-file.in",tmp);
46 return;
47 }
48
49 if(strstr(arq,".bz2") != 0) {
50 sprintf(cmd,"%s: %s > %s/sarg-file.in (bzcat)",text[62],arq,tmp);
51 debuga(cmd);
52 sprintf(cmd,"bzcat %s > %s/sarg-file.in",arq,tmp);
53 system(cmd);
54 strcpy(zip,"zcat");
55 sprintf(arq,"%s/sarg-file.in",tmp);
56 return;
57 }
58
59 if(strstr(arq,".Z")) {
60 sprintf(cmd,"%s: %s (uncompress)",text[62],arq);
61 debuga(cmd);
62 sprintf(cmd,"uncompress %s",arq);
63 system(cmd);
64 arq[strlen(arq)-2]='\0';
65 strcpy(zip,"compress");
66 }
67
68 return;
69
70 }
71
72
73 void recomp(char *arq, char *zip)
74 {
75
76 char cmd[1024];
77
78 if(access(arq, R_OK) != 0) {
79 sprintf(cmd,"%s: %s",text[64],arq);
80 debuga(cmd);
81 exit(1);
82 }
83
84 sprintf(cmd,"%s: %s",text[63],arq);
85 debuga(cmd);
86
87 if(strcmp(zip,"gzip") == 0)
88 sprintf(cmd,"%s %s",zip,arq);
89
90 if(strcmp(zip,"compress") == 0)
91 sprintf(cmd,"%s %s",zip,arq);
92
93 system(cmd);
94 return;
95
96 }