66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
-
+
|
}
/*
** There is an instance of the following for each file translated.
*/
typedef struct Resource Resource;
struct Resource {
const char *zName;
char *zName;
int nByte;
int idx;
};
typedef struct ResourceList ResourceList;
struct ResourceList {
Resource *aRes;
|
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
|
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
|
-
+
-
+
+
+
+
+
|
printf("struct BuiltinFileTable {\n");
printf(" const char *zName;\n");
printf(" const unsigned char *pData;\n");
printf(" int nByte;\n");
printf("};\n");
printf("static const BuiltinFileTable aBuiltinFiles[] = {\n");
for(i=0; i<nRes; i++){
const char *z = aRes[i].zName;
char *z = aRes[i].zName;
if( strlen(z)>=nPrefix ) z += nPrefix;
while( z[0]=='.' || z[0]=='/' ){ z++; }
while( z[0]=='.' || z[0]=='/' || z[0]=='\\' ){ z++; }
aRes[i].zName = z;
while( z[0] ){
if( z[0]=='\\' ) z[0] = '/';
z++;
}
}
qsort(aRes, nRes, sizeof(aRes[0]), (QsortCompareFunc)compareResource);
for(i=0; i<nRes; i++){
printf(" { \"%s\", bidata%d, %d },\n",
aRes[i].zName, aRes[i].idx, aRes[i].nByte);
}
printf("};\n");
free_reslist(&resList);
return nErr;
}
|