| 1 |
#include <stdio.h> |
|---|
| 2 |
|
|---|
| 3 |
main(int argc, char *argv[]) |
|---|
| 4 |
{ |
|---|
| 5 |
FILE *fp; |
|---|
| 6 |
char buf[65536], *ptr; |
|---|
| 7 |
int i; |
|---|
| 8 |
int meta_skip=0; |
|---|
| 9 |
int a; |
|---|
| 10 |
char printbuffer[500000]; |
|---|
| 11 |
for (a=1;a<argc;a++) |
|---|
| 12 |
{ |
|---|
| 13 |
printf("processing %s\n",argv[a]); |
|---|
| 14 |
memset(printbuffer,0,500000); |
|---|
| 15 |
char *obuf=printbuffer; |
|---|
| 16 |
fp=fopen(argv[a], "r"); |
|---|
| 17 |
if (fp) |
|---|
| 18 |
{ |
|---|
| 19 |
while(fgets(buf, sizeof(buf), fp)) |
|---|
| 20 |
{ |
|---|
| 21 |
if (buf[0]=='\r' || buf[0]=='\n') |
|---|
| 22 |
continue; |
|---|
| 23 |
|
|---|
| 24 |
if(strstr(buf, "meta") && strstr(buf, "charset")) |
|---|
| 25 |
{ |
|---|
| 26 |
meta_skip++; |
|---|
| 27 |
if(meta_skip>1) continue; |
|---|
| 28 |
} |
|---|
| 29 |
|
|---|
| 30 |
for(i=strlen(buf)-1;i>=0;i--) |
|---|
| 31 |
{ |
|---|
| 32 |
if (buf[i]=='\r'||buf[i]=='\n') continue; |
|---|
| 33 |
if (buf[i]==' ') |
|---|
| 34 |
{ |
|---|
| 35 |
buf[i]='\r'; |
|---|
| 36 |
buf[i+1]='\n'; |
|---|
| 37 |
buf[i+2]=0; |
|---|
| 38 |
} |
|---|
| 39 |
else break; |
|---|
| 40 |
} |
|---|
| 41 |
if (buf[0]=='\r' || buf[0]=='\n') |
|---|
| 42 |
continue; |
|---|
| 43 |
ptr=strstr(buf, "//"); |
|---|
| 44 |
|
|---|
| 45 |
if (ptr!=NULL && !strstr(buf,"//-->") && !strstr(buf,"//<![CDATA") && !strstr(buf,"//]]")) |
|---|
| 46 |
{ |
|---|
| 47 |
if(!(buf!=ptr && *(ptr-1)==':')) |
|---|
| 48 |
{ |
|---|
| 49 |
*ptr='\r'; |
|---|
| 50 |
*(ptr+1)='\n'; |
|---|
| 51 |
*(ptr+2)=0; |
|---|
| 52 |
} |
|---|
| 53 |
} |
|---|
| 54 |
if (buf[0]=='\r' || buf[0]=='\n') |
|---|
| 55 |
continue; |
|---|
| 56 |
if (buf[0]=='{' /*|| buf[0]=='}'*/) |
|---|
| 57 |
{ |
|---|
| 58 |
if (buf[1]=='\r'||buf[1]=='\n') buf[1] = 0; |
|---|
| 59 |
} |
|---|
| 60 |
i=0; |
|---|
| 61 |
while(buf[i]=='\t') |
|---|
| 62 |
{ |
|---|
| 63 |
i++; |
|---|
| 64 |
} |
|---|
| 65 |
while(buf[i]==' ') |
|---|
| 66 |
{ |
|---|
| 67 |
i++; |
|---|
| 68 |
} |
|---|
| 69 |
|
|---|
| 70 |
|
|---|
| 71 |
// remove tab |
|---|
| 72 |
|
|---|
| 73 |
//i=strlen(buf); |
|---|
| 74 |
//if (buf[i-1]=='\r' || buf[i-1]=='\n') |
|---|
| 75 |
// buf[i-1]=0; |
|---|
| 76 |
//i=strlen(buf); |
|---|
| 77 |
//if (buf[i-1]=='\r' || buf[i-1]=='\n') |
|---|
| 78 |
// buf[i-1]=0; |
|---|
| 79 |
memcpy(obuf,buf+i,strlen(buf+i)); |
|---|
| 80 |
obuf+=strlen(buf+i); |
|---|
| 81 |
//printf("len %d\n",strlen(buf+i)); |
|---|
| 82 |
|
|---|
| 83 |
//obuf+=sprintf(obuf,"%s",buf+i); |
|---|
| 84 |
//printf("%s", buf+i); |
|---|
| 85 |
} |
|---|
| 86 |
fclose(fp); |
|---|
| 87 |
printf("len %d\n",strlen(printbuffer)); |
|---|
| 88 |
fp=fopen(argv[a],"wb"); |
|---|
| 89 |
fwrite(printbuffer,strlen(printbuffer),1,fp); |
|---|
| 90 |
fclose(fp); |
|---|
| 91 |
} |
|---|
| 92 |
} |
|---|
| 93 |
return 0; |
|---|
| 94 |
} |
|---|