mirror of git://sourceware.org/git/glibc.git
				
				
				
			
		
			
				
	
	
		
			42 lines
		
	
	
		
			812 B
		
	
	
	
		
			Awk
		
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			812 B
		
	
	
	
		
			Awk
		
	
	
	
| #! /usr/local/bin/gawk -f
 | |
| BEGIN {
 | |
|   last_node="";
 | |
| }
 | |
| 
 | |
| /^@node/ {
 | |
|   name = $0;
 | |
|   sub(/^@node +/, "", name);
 | |
|   sub(/[@,].*$/, "", name);
 | |
|   last_node = name;
 | |
| }
 | |
| 
 | |
| /^@deftype(fn|vr)/ {
 | |
| # The string we want is $4, except that if there were brace blocks
 | |
| # before that point then it gets shifted to the right, since awk
 | |
| # doesn't know from brace blocks.
 | |
|   id = 4; check = 2; squig = 0;
 | |
|   while(check < id)
 | |
|   {
 | |
|     if($check ~ /{/) squig++;
 | |
|     if($check ~ /}/) squig--;
 | |
|     if(squig) id++;
 | |
|     check++;
 | |
|   }
 | |
| 
 | |
|   printf ("* %s: (libc)%s.\n", $id, last_node);
 | |
| }
 | |
| 
 | |
| /^@deftypefun/ {
 | |
| # Likewise, except it's $3 theoretically.
 | |
|   id = 3; check = 2; squig = 0;
 | |
|   while(check < id)
 | |
|   {
 | |
|     if($check ~ /{/) squig++;
 | |
|     if($check ~ /}/) squig--;
 | |
|     if(squig) id++;
 | |
|     check++;
 | |
|   }
 | |
| 
 | |
|   printf ("* %s: (libc)%s.\n", $id, last_node);
 | |
| }
 |