On 03/07/2013 10:24:04 AM, Nishanth Menon wrote:
> So the first form and the second form are not equivalent. The first
> form is highly unusual but the compiler accepts it, so...
>
> Rob
yes, I agree - I agree the definition is weird, but kernel-doc script
is kind of expected to handle these as well. (*tab)[256] or tab[][256]
should be described by
* @tab: something.
And kernel-doc should be able to convert that into:
Synopsis: original prototype
u32 __pure crc32_le_generic (u32 crc,
unsigned char const * p,
size_t len,
const u32 ( * tab)[256],
u32 polynomial);
Arguments:
tab
something
The problem we probably have is that:
$args{'parameterlist'} is used to create the synopsis for the function
and to print out argument list.
If we cleanup the parameter for "Arguments" then Synopsis suffers and
viceversa.
Traditionally, I've fixed perl by rewriting whatever it was from
scratch in some other language. Don't have the time right now.
I got interested in this specific definition as it kind of caught an
corner case in kernel-doc script.
An alternate solution *might* be to have $args{'parameterlistorig'}
which could
be used to store the original prototype(for Synopsis) while
$args{'parameterlist'}
is used elsewhere - but it kinda feels hackish.
A perl script "kinda feels hackish"? How can you tell? It's... perl.
(Happy to test a patch, but I'd be as much help with "maintainable
perl" as with "dehydrated water".)
Rob--
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