In message <Pine.LNX.4.44.0301102134150.9532-100000@home.transmeta.com> you wri
te:
>
> On Sat, 11 Jan 2003, Rusty Russell wrote:
> >
> > Just in case someone names a variable over 2000 chars, and uses it as
> > an old-style module parameter?
>
> No. Just because variable-sized arrays aren't C, and generate crappy code.
>
> > for (i = 0; i < num; i++) {
> > + char sym_name[strlen(obsparm[i].name)
> > + + sizeof(MODULE_SYMBOL_PREFIX)];
>
> It's still there.
OK, *please* explain to me in little words so I can understand.
Variable-sized arrays are C, as of C99. They've been a GNU extension
forever.
While gcc 2.95.4 generates fairly horrible code, gcc 3.0 does better
(the two compilers I have on my laptop).
Both generate correct code.
Speed is certainly of absolutely no importance here.
Changing it to do a kmalloc every time around the loop is complex,
inefficient, unneccessary, and introduces another failure path.
In summary, I can't see any reason why the clearest, simplest code
should be avoided.
Rusty.
-- Anyone who quotes me in their sig is an idiot. -- Rusty Russell. - 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/
This archive was generated by hypermail 2b29 : Wed Jan 15 2003 - 22:00:38 EST