37 lines
		
	
	
	
		
			702 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
	
		
			702 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
|   | /*
 | ||
|  |  * Unloved program to convert a binary on stdin to a C include on stdout | ||
|  |  * | ||
|  |  * Jan 1999 Matt Mackall <mpm@selenic.com> | ||
|  |  * | ||
|  |  * This software may be used and distributed according to the terms | ||
|  |  * of the GNU General Public License, incorporated herein by reference. | ||
|  |  */ | ||
|  | 
 | ||
|  | #include <stdio.h>
 | ||
|  | 
 | ||
|  | int main(int argc, char *argv[]) | ||
|  | { | ||
|  | 	int ch, total=0; | ||
|  | 
 | ||
|  | 	if (argc > 1) | ||
|  | 		printf("const char %s[] %s=\n", | ||
|  | 			argv[1], argc > 2 ? argv[2] : ""); | ||
|  | 
 | ||
|  | 	do { | ||
|  | 		printf("\t\""); | ||
|  | 		while ((ch = getchar()) != EOF) | ||
|  | 		{ | ||
|  | 			total++; | ||
|  | 			printf("\\x%02x",ch); | ||
|  | 			if (total % 16 == 0) | ||
|  | 				break; | ||
|  | 		} | ||
|  | 		printf("\"\n"); | ||
|  | 	} while (ch != EOF); | ||
|  | 
 | ||
|  | 	if (argc > 1) | ||
|  | 		printf("\t;\n\nconst int %s_size = %d;\n", argv[1], total); | ||
|  | 
 | ||
|  | 	return 0; | ||
|  | } |