[PATCH 1/3] kernel-doc: support for comma-separated members in structs and unions.
From: Alexey Dobriyan (adobriyan_at_mail.ru)
Date: 10/31/04
- Previous message: Yaroslav Halchenko: "ipod vfat"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
To: sam@ravnborg.org Date: Mon, 01 Nov 2004 00:37:39 +0300
Fix the following warnings
$ make sgmldocs
...
Warning(include/linux/skbuff.h:283): No description found for parameter 'len,data_len,mac_len,csum'
Warning(include/linux/skbuff.h:283): No description found for parameter 'local_df,cloned,pkt_type,ip_summed'
Warning(include/linux/skbuff.h:283): No description found for parameter 'protocol,security'
...
Warning(include/linux/skbuff.h:283): No description found for
parameter 'head,*data,*tail,*end'
...
by adding support for comma-separated members in structs and unions.
Signed-off-by: Alexey Dobriyan <adobriyan@mail.ru>
--- a/scripts/kernel-doc 2004-11-01 05:45:19.205305432 +0000
+++ b/scripts/kernel-doc 2004-11-01 05:57:59.562713536 +0000
@@ -105,10 +105,7 @@
# enums and typedefs. Instead of the function name you must write the name
# of the declaration; the struct/union/enum/typedef must always precede
# the name. Nesting of declarations is not supported.
-# Use the argument mechanism to document members or constants. In
-# structs and unions you must declare one member per declaration
-# (comma-separated members are not allowed - the parser does not support
-# this).
+# Use the argument mechanism to document members or constants.
# e.g.
# /**
# * struct my_struct - short description
@@ -1318,22 +1315,40 @@
$param = $1;
$type = $arg;
$type =~ s/([^\(]+\(\*)$param/$1/;
+ push_parameter($param, $type, $file);
} else {
# evil magic to get fixed array parameters to work
$arg =~ s/(.+\s+)(.+)\[.*/$1* $2/;
- my @args = split('\s', $arg);
-
- $param = pop @args;
- if ($param =~ m/^(\*+)(.*)/) {
- $param = $2;
- push @args, $1;
- }
- elsif ($param =~ m/(.*?)\s*:\s*(\d+)/) {
- $param = $1;
- push @args, ":$2";
+
+ $arg =~ s/\s*:\s*/:/g;
+
+ my @args = split('\s*,\s*', $arg);
+ if ($args[0] =~ m/\*/) {
+ $args[0] =~ s/(\*+)\s*/ $1/;
+ }
+ my @first_arg = split('\s+', shift @args);
+ unshift(@args, pop @first_arg);
+ $type = join " ", @first_arg;
+
+ foreach $param (@args) {
+ if ($param =~ m/^(\*+)\s*(.*)/) {
+ push_parameter($2, "$type $1", $file);
+ }
+ elsif ($param =~ m/(.*?):(\d+)/) {
+ push_parameter($1, "$type:$2", $file)
+ }
+ else {
+ push_parameter($param, $type, $file);
+ }
}
- $type = join " ", @args;
}
+ }
+}
+
+sub push_parameter($$$) {
+ my $param = shift;
+ my $type = shift;
+ my $file = shift;
if ($type eq "" && $param eq "...")
{
@@ -1362,7 +1377,6 @@
push @parameterlist, $param;
$parametertypes{$param} = $type;
- }
}
##
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- Previous message: Yaroslav Halchenko: "ipod vfat"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
- [PATCH] scripts/kernel-doc and comma separated members.
... +# 18/04/2004 - Comma separated members inside structs definitions are ok now.
... # of the declaration; ... my $param = shift; ... (Linux-Kernel) - Re: ponder me this, ponder me that...
... Besides the obvious fact that kenny hates me more than cod liver ... Don't you
people that rehash this over and over and over again get ... share experienceand give support
... members" feel the "vibes" all around that some other members, ... (alt.support.chronic-pain) - Re: FUCK THIS MOTHER FUCKING GROUP, GAWD DAMMIT
... I've always been guilty of not knowing all the players in this group. ... I'm
a lost lamb in the name game. ... She's been and is being given lots of support:
... >> to be there for all our members. ... (alt.support.chronic-pain) - Re: Alice Assigns Displacement to ASCII elements - Adacrypt
... Jeremy hunts the declaration in support of hers and ... generally burys.
... Kristen notices, ... (sci.crypt) - Re: Bitch Fest
... the Association (Scout Fellowship etc)? ... support Scouting but not
neccesarily by part of the Movement. ... Not all supporters have to be associate members
or members - but ... my criticism than anyone else on this newsgroup - bar none. ...
(uk.rec.scouting)