1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- BEGIN{
- oargc = 0;
- for(argc = 1; argc < ARGC; argc++){
- if(ARGV[argc] !~ /^-.+/ || ARGV[argc] ~ /--/)
- break;
- if(ARGV[argc] != "-D")
- oargv[ARGV[argc]] = oargc++;
- else
- DEBUG = 1;
- ARGV[argc] = "";
- }
- }
- /^enum([ \t]*{|$)/{
- inenum = 1;
- if(DEBUG)
- printf "inenum = 1\n";
- next;
- }
- inenum && /^};$/{
- if(DEBUG)
- printf "inenum = 0\n";
- inenum = 0;
- }
- inenum && $0 ~ /^[ \t]+[_A-Za-z][_0-9A-Za-z]+[ \t]+=[ \t]+[0-9A-Z_a-z()<> ]+,/{
- tab = "\t";
- if(length($1) < 8)
- sep = tab tab;
- else
- sep = tab;
- split($3, a, ",");
- gsub(/ull/, "", a[1])
- printf "#define %s%s%s", $1, sep, a[1];
- if(match($0, /\/\*.*\*\/$/)){
- len = length(a[1]);
- sep = "";
- while(len < 24){
- sep = sep tab;
- len += 8;
- }
- printf "%s%s", sep, substr($0, RSTART);
- }
- printf "\n"
- }
- !inenum && /^#(define|include) /{
- printf "%s\n", $0;
- }
- /^$/{
- printf "\n";
- }
- END{}
|