mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-03 21:48:15 +00:00 
			
		
		
		
	isspace() and strim() are not in the typical user-mode string.h, so put them in a separate compilation unit so that they can be built into tools that need them independent of the other common string functions. This allows code shared by u-boot and the linux user-mode tools to link. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
		
			
				
	
	
		
			52 lines
		
	
	
		
			929 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			929 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 *  linux/lib/string.c
 | 
						|
 *
 | 
						|
 *  Copyright (C) 1991, 1992  Linus Torvalds
 | 
						|
 */
 | 
						|
 | 
						|
#ifdef USE_HOSTCC
 | 
						|
#include <stdio.h>
 | 
						|
#endif
 | 
						|
 | 
						|
#include <linux/ctype.h>
 | 
						|
#include <linux/string.h>
 | 
						|
 | 
						|
/**
 | 
						|
 * skip_spaces - Removes leading whitespace from @str.
 | 
						|
 * @str: The string to be stripped.
 | 
						|
 *
 | 
						|
 * Returns a pointer to the first non-whitespace character in @str.
 | 
						|
 */
 | 
						|
char *skip_spaces(const char *str)
 | 
						|
{
 | 
						|
	while (isspace(*str))
 | 
						|
		++str;
 | 
						|
	return (char *)str;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * strim - Removes leading and trailing whitespace from @s.
 | 
						|
 * @s: The string to be stripped.
 | 
						|
 *
 | 
						|
 * Note that the first trailing whitespace is replaced with a %NUL-terminator
 | 
						|
 * in the given string @s. Returns a pointer to the first non-whitespace
 | 
						|
 * character in @s.
 | 
						|
 */
 | 
						|
char *strim(char *s)
 | 
						|
{
 | 
						|
	size_t size;
 | 
						|
	char *end;
 | 
						|
 | 
						|
	s = skip_spaces(s);
 | 
						|
	size = strlen(s);
 | 
						|
	if (!size)
 | 
						|
		return s;
 | 
						|
 | 
						|
	end = s + size - 1;
 | 
						|
	while (end >= s && isspace(*end))
 | 
						|
		end--;
 | 
						|
	*(end + 1) = '\0';
 | 
						|
 | 
						|
	return s;
 | 
						|
}
 |