| BEGIN { | |
| print "/* Machine generated. Do not edit. */" | |
| print "" | |
| lines = 0 | |
| } | |
| { | |
| split($0, array, FS) | |
| if (NF > 0 && length(array[1]) > 0) { | |
| lines++ | |
| # save the first word is the names array | |
| names[lines] = array[1] | |
| # create the WCHAR version of the name | |
| printf "static const WCHAR name%dW[] = { ", lines | |
| i = 1 | |
| len = length(array[1]) + 1 | |
| while (i < len) { | |
| printf "'%s',", substr(array[1],i,1) | |
| i++ | |
| } | |
| print "0 };" | |
| # create the CHAR version of the description | |
| printf "static const CHAR description%dA[] = \"", lines | |
| word = 2 | |
| while (word < (NF + 1)) { | |
| printf "%s", array[word] | |
| if (word < NF ) | |
| printf " " | |
| word++ | |
| } | |
| print "\";" | |
| # create the WCHAR version of the description | |
| printf "static const WCHAR description%dW[] = { ", lines | |
| word = 2 | |
| while (word < (NF + 1)) { | |
| i = 1 | |
| len = length(array[word]) + 1 | |
| while (i < len) { | |
| printf "'%s',", substr(array[word],i,1) | |
| i++ | |
| } | |
| if (word < NF ) | |
| printf "' '," | |
| word++ | |
| } | |
| print "0 };" | |
| } | |
| } | |
| END { | |
| print "" | |
| print "static const error_info info[] = {" | |
| i = 1 | |
| while ( i <= lines) { | |
| printf " { %s, \"%s\", name%dW, description%dA, description%dW },\n", | |
| names[i], names[i], i, i,i | |
| i++ | |
| } | |
| print "};" | |
| } |