[alsa-devel] [dm-devel] [PATCH v4 00/12] introduce skip_spaces(), reducing code size plus some clean-ups
James.Bottomley at HansenPartnership.com
Sun Nov 8 17:05:03 CET 2009
On Sat, 2009-11-07 at 13:16 -0200, André Goddard Rosa wrote:
> This patch reduces lib.a code size by 173 bytes on my Core 2 with gcc 4.4.1
> even considering that it exports a newly defined function skip_spaces()
> to drivers:
> text data bss dec hex filename
> 64867 840 592 66299 102fb (TOTALS-lib.a-before)
> 64954 584 588 66126 1024e (TOTALS-lib.a-after)
> and implements some code tidy up.
> Besides reducing lib.a size, it converts many in-tree drivers to use the
> newly defined function, which makes another small reduction on kernel size
> overall when those drivers are used.
Before we embark on something as massive as this, could we take a step
back. I agree that if I were coming up with the strstip() interface
today I probably wouldn't have given it two overloaded uses.
However, I think the function, in spite of this minor issue, is very
usable. I still don't understand why people thought adding a
__must_check, which is what damaged one of the overloaded uses, is a
Assuming there's a good answer to the above:
> + * skip_spaces - Removes leading whitespace from @s.
> + * @s: The string to be stripped.
> + *
> + * Returns a pointer to the first non-whitespace character in @s.
> + */
> +const char *skip_spaces(const char *str)
I don't think const return is a good idea because most functions will be
manipulating the string and using pointers that won't be const, so this
will generate a ton of 'initialization discards qualifiers from pointer
target type' ... so that leads to the question of whether this patch
series was actually compiled ...
More information about the Alsa-devel