s390-tools: Move function util_strstrip

This patch
 - moves function util_strstrip to libutil/util_libc.c and deletes the
   extra files util_strstip.[ch]
 - adds doxygen comments for util_strstrip()
 - provides an example on how to use util_strstrip().

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-21 12:25:09 +00:00
committed by Jan Höppner
parent 08bc0a947a
commit 427dff3450
7 changed files with 51 additions and 67 deletions
+10
View File
@@ -14,6 +14,10 @@
#include <stdio.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* Allocate memory or panic in case of failure
*
@@ -125,4 +129,10 @@ int __util_vsprintf(const char *func, const char *file, int line,
char *util_strcat_realloc(char *str1, const char *str2);
void util_str_toupper(char *str);
char *util_strstrip(char *s);
#ifdef __cplusplus
}
#endif
#endif /** LIB_UTIL_LIBC_H @} */
-25
View File
@@ -1,25 +0,0 @@
/**
* @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 @} */
+1 -2
View File
@@ -26,8 +26,7 @@ objects = util_base.o \
util_part.o \
util_prg.o \
util_proc.o \
util_rec.o \
util_str.o
util_rec.o
util_base_example: util_base_example.o $(lib)
util_panic_example: util_panic_example.o $(lib)
+30
View File
@@ -198,3 +198,33 @@ int __util_vsprintf(const char *func, const char *file, int line,
rc != -1, "Could not format string\n");
return rc;
}
/**
* Strip leading and trailing spaces from string
*
* Remove string \a s leading and trailing spaces
*
* @param[in,out] s String to manipulate
*
* @returns Pointer to first non-space character in string \a s
*/
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;
}
+9
View File
@@ -10,10 +10,13 @@
//! [code]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "lib/util_libc.h"
#include "lib/util_panic.h"
#define EXAMPLE_WORD " /sys/devices/system/cpu "
/*
* Demonstrate that out of memory is automatically handled via panic()
*/
@@ -22,6 +25,12 @@ int main(void)
unsigned long ulong_max = (unsigned long)-1;
void *ptr;
char *zeroes, *str;
char buffer[sizeof(EXAMPLE_WORD)];
strcat(buffer, EXAMPLE_WORD);
fprintf(stderr, "Try to remove leading and trailing spaces from "
"\"%s\"\nresult = \"%s\"\n", EXAMPLE_WORD,
util_strstrip(buffer));
/* Use util_strcat_realloc() for string concatenation */
fprintf(stderr, "Try to concatenate \"Hello\", \", \" and \"world!\": ");
-39
View File
@@ -1,39 +0,0 @@
/*
* 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;
}
+1 -1
View File
@@ -31,7 +31,7 @@
#include "lib/vmdump.h"
#include "lib/zt_common.h"
#include "lib/util_str.h"
#include "lib/util_libc.h"
#include "vmur.h"