38 lines
		
	
	
		
			697 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			697 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* vi: set sw=4 ts=4: */
 | |
| /*
 | |
|  * Utility routines.
 | |
|  *
 | |
|  * Copyright (C) many different people.
 | |
|  * If you wrote this, please acknowledge your work.
 | |
|  *
 | |
|  * Licensed under GPLv2 or later, see file LICENSE in this source tree.
 | |
|  */
 | |
| #include "libbb.h"
 | |
| 
 | |
| char* FAST_FUNC trim(char *s)
 | |
| {
 | |
| 	size_t len = strlen(s);
 | |
| 	size_t old = len;
 | |
| 
 | |
| 	/* trim trailing whitespace */
 | |
| 	while (len && isspace(s[len-1]))
 | |
| 		--len;
 | |
| 
 | |
| 	/* trim leading whitespace */
 | |
| 	if (len) {
 | |
| 		char *nws = skip_whitespace(s);
 | |
| 		if ((nws - s) != 0) {
 | |
| 			len -= (nws - s);
 | |
| 			memmove(s, nws, len);
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	s += len;
 | |
| 	/* If it was a "const char*" which does not need trimming,
 | |
| 	 * avoid superfluous store */
 | |
| 	if (old != len)
 | |
| 		*s = '\0';
 | |
| 
 | |
| 	return s;
 | |
| }
 | 
