67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
static void compressJavascript(unsigned char *z, int *pn){
int n = *pn;
int i, j, k;
for(i=j=0; i<n; i++){
unsigned char c = z[i];
if( c=='/' ){
if( z[i+1]=='*' ){
for(k=i+3; k<n && (z[k]!='/' || z[k-1]!='*'); k++){}
if( k<n ){
i = k;
while( i+1<n && isspace(z[i+1]) ) i++;
continue;
}
}else if( z[i+1]=='/' ){
for(k=i+2; k<n && z[k]!='\n'; k++){}
i = k;
while( i+1<n && isspace(z[i+1]) ) i++;
continue;
}
}
if( c=='\n' ){
while( j>0 && isspace(z[j-1]) ) j--;
z[j++] = '\n';
while( i+1<n && isspace(z[i+1]) ) i++;
|
>
<
|
<
|
<
>
|
<
|
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
static void compressJavascript(unsigned char *z, int *pn){
int n = *pn;
int i, j, k;
for(i=j=0; i<n; i++){
unsigned char c = z[i];
if( c=='/' ){
if( z[i+1]=='*' ){
while( j>0 && (z[j-1]==' ' || z[j-1]=='\t') ){ j--; }
for(k=i+3; k<n && (z[k]!='/' || z[k-1]!='*'); k++){}
i = k;
continue;
}else if( z[i+1]=='/' ){
while( j>0 && (z[j-1]==' ' || z[j-1]=='\t') ){ j--; }
for(k=i+2; k<n && z[k]!='\n'; k++){}
i = k-1;
continue;
}
}
if( c=='\n' ){
while( j>0 && isspace(z[j-1]) ) j--;
z[j++] = '\n';
while( i+1<n && isspace(z[i+1]) ) i++;
|
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
while( pData[nSkip]=='#' ){
while( pData[nSkip]!=0 && pData[nSkip]!='\n' ){ nSkip++; }
if( pData[nSkip]=='\n' ) nSkip++;
}
/* Compress javascript source files */
nName = (int)strlen(aRes[i].zName);
if( nName>3 && strcmp(&aRes[i].zName[nName-3],".js")==0 ){
int x = sz-nSkip;
compressJavascript(pData+nSkip, &x);
sz = x + nSkip;
}
aRes[i].nByte = sz - nSkip;
aRes[i].idx = i;
|
|
>
>
|
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
while( pData[nSkip]=='#' ){
while( pData[nSkip]!=0 && pData[nSkip]!='\n' ){ nSkip++; }
if( pData[nSkip]=='\n' ) nSkip++;
}
/* Compress javascript source files */
nName = (int)strlen(aRes[i].zName);
if( (nName>3 && strcmp(&aRes[i].zName[nName-3],".js")==0)
|| (nName>7 && strcmp(&aRes[i].zName[nName-7], "/js.txt")==0)
){
int x = sz-nSkip;
compressJavascript(pData+nSkip, &x);
sz = x + nSkip;
}
aRes[i].nByte = sz - nSkip;
aRes[i].idx = i;
|