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;
 | 
						|
}
 |