root/tools/strip.c

Revision 10121, 1.7 kB (checked in by BrainSlayer, 2 years ago)

mkimage added

  • Property svn:executable set to *
Line 
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 }
Note: See TracBrowser for help on using the browser.