mirror of
https://github.com/cesanta/mongoose.git
synced 2026-10-28 12:30:58 +00:00
Add ascii to the packed data
This commit is contained in:
1 parent
35abd695cd
commit
b0e0247b21
2 files changed
+12
-6
No files matched your search
@@ -24,7 +24,7 @@
|
||||
static const char *code =
|
||||
"const char *unpack(const char *name, size_t *size) {\n"
|
||||
" const struct packed_file *p;\n"
|
||||
" for (p = packed_files; p->name != NULL; p++) {\n"
|
||||
" for (p = g_packed_files; p->name != NULL; p++) {\n"
|
||||
" if (strcmp(p->name, name) != 0) continue;\n"
|
||||
" if (size != NULL) *size = p->size - 1;\n"
|
||||
" return (const char *) p->data;\n"
|
||||
@@ -41,16 +41,22 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
for (i = 1; i < argc; i++) {
|
||||
FILE *fp = fopen(argv[i], "rb");
|
||||
char ascii[12];
|
||||
if (fp == NULL) exit(EXIT_FAILURE);
|
||||
|
||||
printf("static const unsigned char v%d[] = {", i);
|
||||
printf("static const unsigned char v%d[] = {\n", i);
|
||||
for (j = 0; (ch = fgetc(fp)) != EOF; j++) {
|
||||
if ((j % 12) == 0) printf("%s", "\n ");
|
||||
if (j == (int) sizeof(ascii)) {
|
||||
printf(" // %.*s\n", j, ascii);
|
||||
j = 0;
|
||||
}
|
||||
ascii[j] = (ch >= ' ' && ch <= '~' && ch != '\\') ? ch : '.';
|
||||
printf(" %3u,", ch);
|
||||
}
|
||||
// Append zero byte at the end, to make text files appear in memory
|
||||
// as nul-terminated strings.
|
||||
printf("%s", " 0x00\n};\n");
|
||||
// printf(" 0 // %.*s\n", (int) sizeof(ascii), ascii);
|
||||
printf(" 0 // %.*s\n};\n", j, ascii);
|
||||
fclose(fp);
|
||||
}
|
||||
|
||||
@@ -58,7 +64,7 @@ int main(int argc, char *argv[]) {
|
||||
printf("%s", " const char *name;\n");
|
||||
printf("%s", " const unsigned char *data;\n");
|
||||
printf("%s", " size_t size;\n");
|
||||
printf("%s", "} packed_files[] = {\n");
|
||||
printf("%s", "} g_packed_files[] = {\n");
|
||||
|
||||
for (i = 1; i < argc; i++) {
|
||||
printf(" {\"%s\", v%d, sizeof(v%d) },\n", argv[i], i, i);
|
||||
|
||||
Reference in new issue
Block a user