Hi Markus, > The parser part is same state machine as the the perl one … with same > problems ;) :-) > Problem here; function process_proto_type() concatenates the striped > lines of declaration without any whitespace. A one-liner of:: > > struct something { > struct foo > bar; > }; > > has to be:: > > struct something {struct foo bar;}; > > Without the patch, the result missed the space between ‚foo' and > 'bar':: > > struct something {struct foobar;}; > > Here is my fix for the Perl script: > > diff --git a/scripts/kernel-doc b/scripts/kernel-doc > index a26a5f2..6aa52cc 100755 > --- a/scripts/kernel-doc > +++ b/scripts/kernel-doc > @@ -2763,6 +2763,9 @@ sub process_proto_type($$) { > > while (1) { > if ( $x =~ /([^{};]*)([{};])(.*)/ ) { > + if( length $prototype ) { > + $prototype .= " " > + } > $prototype .= $1 . $2; > ($2 eq '{') && $brcount++; > ($2 eq '}') && $brcount--; > > Can you test it? This has the same problem as all the other versions proposed here - if you have enum foo { X, Y, }; (note the blank line) you'll get warning: Enum value ' ' not described in enum 'foo' johannes -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html