s390-tools: Add function util_strstrip

Function strstrip strips leading and trailung
spaces from a given string.
During review it was decided to move this function
to the libutil library to make it available for other tools.

Signed-off-by: Thomas Richter <tmricht@linux.vnet.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
Thomas Richter
2018-02-19 13:52:57 +00:00
committed by Jan Höppner
parent 599b141b8a
commit 6a1b9cf10a
3 changed files with 66 additions and 1 deletions

25
include/lib/util_str.h Normal file
View File

@@ -0,0 +1,25 @@
/**
* @defgroup util_str
* @{
* @brief Strip leading and trailing blanks
*
* Copyright IBM Corp. 2018
*
* s390-tools is free software; you can redistribute it and/or modify
* it under the terms of the MIT license. See LICENSE for details.
*/
#ifndef LIB_UTIL_STR_H
#define LIB_UTIL_STR_H
#ifdef __cplusplus
extern "C" {
#endif
char *util_strstrip(char *s);
#ifdef __cplusplus
}
#endif
#endif /** LIB_UTIL_STRSTRIP_H @} */

View File

@@ -26,7 +26,8 @@ objects = util_base.o \
util_part.o \
util_prg.o \
util_proc.o \
util_rec.o
util_rec.o \
util_str.o
util_base_example: util_base_example.o $(lib)
util_panic_example: util_panic_example.o $(lib)

39
libutil/util_str.c Normal file
View File

@@ -0,0 +1,39 @@
/*
* util - Utility function library
*
* Strip leading and trailing blanks.
*
* Copyright IBM Corp. 2018
*
* s390-tools is free software; you can redistribute it and/or modify
* it under the terms of the MIT license. See LICENSE for details.
*/
#include <string.h>
#include <ctype.h>
#include "lib/util_str.h"
/*
* strip leading and trailing blanks
*/
char *util_strstrip(char *s)
{
size_t size;
char *end;
size = strlen(s);
if (!size)
return s;
end = s + size - 1;
while (end >= s && isspace(*end))
end--;
*(end + 1) = '\0';
while (*s && isspace(*s))
s++;
return s;
}