blob: cb3fa15ad67c0d3c8dcd2f695690c812aa9442dd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
BEGIN {
FS = "\\(|\\)|, "
OFS = ", "
print "typedef struct {"
}
$1 == "MPERS_PRINTER_DECL" {
printf " %s (*%s)(%s", $2, $3, $4
for (i = 5; i < NF; ++i)
printf ", %s", $i
print ");"
print "#define " $3 " MPERS_PRINTER_NAME(" $3 ")\n"
}
END {
print "} struct_printers;"
print "extern const struct_printers *printers;"
print "#define MPERS_PRINTER_NAME(printer_name) printers->printer_name"
}
|