On 19/09/15 03:17, Silvan Jegen wrote:
> Hi
> 
> There is a typo in the commit message.
> 
> [pacman-dev] [PATCH v2 1/7] move strtim to util-common
> 
> vs.
> 
> [pacman-dev] [PATCH v2 1/7] move strt*r*im to util-common
> 
> 
> one other thing below.

Thanks.

> 
> On Mon, Sep 14, 2015 at 06:37:38PM -0400, Andrew Gregory wrote:
>> Signed-off-by: Andrew Gregory <[email protected]>
>> ---
>>  src/common/util-common.c | 39 +++++++++++++++++++++++++++++++++++++++
>>  src/common/util-common.h |  2 ++
>>  src/pacman/ini.c         |  2 +-
>>  src/pacman/util.c        | 39 ---------------------------------------
>>  src/pacman/util.h        |  1 -
>>  src/util/pactree.c       | 36 ------------------------------------
>>  6 files changed, 42 insertions(+), 77 deletions(-)
>>
>> diff --git a/src/common/util-common.c b/src/common/util-common.c
>> index e834168..542dcfd 100644
>> --- a/src/common/util-common.c
>> +++ b/src/common/util-common.c
>> @@ -17,6 +17,7 @@
>>   *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
>>   */
>>  
>> +#include <ctype.h>
>>  #include <errno.h>
>>  #include <stdlib.h>
>>  #include <string.h>
>> @@ -127,6 +128,44 @@ char *safe_fgets(char *s, int size, FILE *stream)
>>      return ret;
>>  }
>>  
>> +/* 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.

A

Reply via email to