File: asc2c

package info (click to toggle)
eperl 2.2.14-21
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 2,304 kB
  • ctags: 738
  • sloc: ansic: 4,694; perl: 584; sh: 556; makefile: 353
file content (58 lines) | stat: -rwxr-xr-x 1,176 bytes parent folder | download | duplicates (13)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
:
eval 'exec perl -S $0 ${1+"$@"}'
    if $running_under_some_shell;
##
##  asc2c -- convert an ASCII file into a statically initialised
##           C array of characters
##
##  Copyright (c) Ralf S. Engelschall, All Rights Reserved.
##

$filein  = $ARGV[0];
$fileout = $ARGV[1];
$name    = $ARGV[2];

if ($#ARGV ne 2) {
	printf(STDERR "Usage: $0 ascii-file c-file buffer-name\n");
    exit(1);
}

open(IN,   "<$filein");
#open(OUTH, ">$fileout.h");
open(OUTC, ">$fileout.c");

print OUTC "/* $filein.c -- automatically generated by asc2c */\n";
print OUTC "\n";
print OUTC "char *$name = \\\n";

while (<IN>) {
	#next if m|^[ \t]*$|;
	#next if m|^[ \t]*#.*$|;
	s|\n$||;
	s|\\|\\\\|g;
	s|\"|\\\"|g;
	s|^|\"|;
	s|$|\\n\"\\|;
	printf(OUTC "%s\n", $_);
}

print OUTC ";\n";
print OUTC "\n";
print OUTC "/*EOF*/\n";

$filename = "$fileout.h";
$filename =~ tr|a-z.|A-Z_|;

#print OUTH "/* $fileout.h -- automatically generated by asc2c */\n";
#print OUTH "#ifndef __$filename\n";
#print OUTH "#define __$filename\n";
#print OUTH "\n";
#print OUTH "extern char *$name;\n";
#print OUTH "\n";
#print OUTH "#endif /* __$filename */\n";

close(IN);
#close(OUTH);
close(OUTC);

##EOF##