[pacman-dev] [PATCH v2 1/7] move strtim to util-common
Silvan Jegen
s.jegen at gmail.com
Sat Sep 19 09:16:51 UTC 2015
Hi
On Sat, Sep 19, 2015 at 03:10:50PM +1000, Allan McRae wrote:
> On 19/09/15 03:17, Silvan Jegen wrote:
> > On Mon, Sep 14, 2015 at 06:37:38PM -0400, Andrew Gregory wrote:
> >> Signed-off-by: Andrew Gregory <andrew.gregory.8 at gmail.com>
> >> +/* Trim whitespace and newlines from a string
> >> + */
> >> +size_t strtrim(char *str)
> >> +{
> >> + char *end, *pch = str;
> >> +
> >> + if(str == NULL || *str == '\0') {
> >> + /* string is empty, so we're done. */
> >> + return 0;
> >> + }
> >> +
> >> + while(isspace((unsigned char)*pch)) {
> >> + pch++;
> >> + }
> >> + if(pch != str) {
> >> + size_t len = strlen(pch);
> >> + if(len) {
> >> + memmove(str, pch, len + 1);
> >> + pch = str;
> >> + } else {
> >> + *str = '\0';
> >> + }
> >> + }
> >
> > The last part could be simplified as follows.
> >
> > [...]
> > if(pch != str) {
> > size_t len = strlen(pch);
> > if(!len) {
> > /* check if there wasn't anything but whitespace in the string. */
> > *str = '\0';
> > return 0;
> > }
> > memmove(str, pch, len + 1);
> > pch = str;
> > }
> >
> > and these three lines could then be removed...
> >
> >> + if(*str == '\0') {
> >> + return 0;
> >> + }
> >> [...]
> >
> > ...because we already checked for (*str == '\0') in the empty string
> > case further up in the function.
> >
>
> This patch is a pure cut and paste. Any improvements should go in a
> other patches.
I will send a patch after this code move has been applied then.
Cheers,
Silvan
More information about the pacman-dev
mailing list