X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=inline;f=build%2Fdoc-extract;h=e20e7a941ce3c9b3088764a5950341c88b4885c6;hb=ca1e06ed14e04fe2bcff4dca15cdea1e65a5ab65;hp=8bd84ef76b07ffe0024a9a14d2e2407cb8e4c19f;hpb=9e0e2f9c68df3a3b44778799d8d8347f04d3d50f;p=libucw.git diff --git a/build/doc-extract b/build/doc-extract index 8bd84ef7..e20e7a94 100755 --- a/build/doc-extract +++ b/build/doc-extract @@ -24,12 +24,11 @@ if( defined $defdump ) { sub detect( $ ) { ( $_ ) = @_; - return( 'struct', 1, $1, "typedef struct { ... } $1;" ) if /^\s*typedef\s+struct\s*{.*}\s*(\w+)\s*;\s*$/s; - return( 'enum', 1, $1, "typedef enum { ... } $1;" ) if /^\s*typedef\s+enum\s*{.*}\s*(\w+)\s*;\s*$/s; + return( $1, 1, $2, "typedef $1 { ... } $2;" ) if /^\s*typedef\s+(struct|enum)\s*{.*}\s*(\w+)\s*;\s*$/s; + return( $1, 1, $2, $_ ) if /^\s*(struct|enum)\s+(\w+)\s*;\s*$/s; my $l = length; s/\n.*//s; - return( 'struct', 0, $1, $_ ) if /struct\s+(\w+)\s+{/; - return( 'enum', 0, $1, $_ ) if /enum\s+(\w+)\s+{/; + return( $1, 0, $2, $_ ) if /(struct|enum)\s+(\w+)\s+{/; return( 'def', 0, $1, $_ ) if /#define\s+(\w+)/; if( $l > length ) { warn( "Unknown multiline statement $_\n" );