| xj | b04a402 | 2021-11-25 15:01:52 +0800 | [diff] [blame] | 1 | /* | 
|  | 2 | * Unloved program to convert a binary on stdin to a C include on stdout | 
|  | 3 | * | 
|  | 4 | * Jan 1999 Matt Mackall <mpm@selenic.com> | 
|  | 5 | * | 
|  | 6 | * This software may be used and distributed according to the terms | 
|  | 7 | * of the GNU General Public License, incorporated herein by reference. | 
|  | 8 | */ | 
|  | 9 |  | 
|  | 10 | #include <stdio.h> | 
|  | 11 |  | 
|  | 12 | int main(int argc, char *argv[]) | 
|  | 13 | { | 
|  | 14 | int ch, total = 0; | 
|  | 15 |  | 
|  | 16 | if (argc > 1) | 
|  | 17 | printf("const char %s[] %s=\n", | 
|  | 18 | argv[1], argc > 2 ? argv[2] : ""); | 
|  | 19 |  | 
|  | 20 | do { | 
|  | 21 | printf("\t\""); | 
|  | 22 | while ((ch = getchar()) != EOF) { | 
|  | 23 | total++; | 
|  | 24 | printf("\\x%02x", ch); | 
|  | 25 | if (total % 16 == 0) | 
|  | 26 | break; | 
|  | 27 | } | 
|  | 28 | printf("\"\n"); | 
|  | 29 | } while (ch != EOF); | 
|  | 30 |  | 
|  | 31 | if (argc > 1) | 
|  | 32 | printf("\t;\n\n#include <linux/types.h>\n\nconst size_t %s_size = %d;\n", | 
|  | 33 | argv[1], total); | 
|  | 34 |  | 
|  | 35 | return 0; | 
|  | 36 | } |