| 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 "};" |
| } |