|  |  |  | @ -11,16 +11,21 @@ const char *whitespace = " \f\n\r\t\v"; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | /* Note: This returns 8 characters for trimmed_start per tab character. */ | 
			
		
	
		
			
				
					|  |  |  |  | char *strip_whitespace(char *_str) { | 
			
		
	
		
			
				
					|  |  |  |  | 	int ws = strspn(_str, whitespace); | 
			
		
	
		
			
				
					|  |  |  |  | 	int len = strlen(_str) - ws + 1; | 
			
		
	
		
			
				
					|  |  |  |  | 	sway_log(L_DEBUG,"%d, %d..",ws,len); | 
			
		
	
		
			
				
					|  |  |  |  | 	char *str = malloc(len); | 
			
		
	
		
			
				
					|  |  |  |  | 	strcpy(str, _str+ws); | 
			
		
	
		
			
				
					|  |  |  |  | 	free(_str); | 
			
		
	
		
			
				
					|  |  |  |  | 	if (*_str == '\0') | 
			
		
	
		
			
				
					|  |  |  |  | 		return _str; | 
			
		
	
		
			
				
					|  |  |  |  | 	char *strold = _str; | 
			
		
	
		
			
				
					|  |  |  |  | 	while (*_str == ' ' || *_str == '\t') { | 
			
		
	
		
			
				
					|  |  |  |  | 		_str++; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	char *str = malloc(strlen(_str) + 1); | 
			
		
	
		
			
				
					|  |  |  |  | 	strcpy(str, _str); | 
			
		
	
		
			
				
					|  |  |  |  | 	free(strold); | 
			
		
	
		
			
				
					|  |  |  |  | 	int i; | 
			
		
	
		
			
				
					|  |  |  |  | 	for (i = 0; str[i] != '\0'; ++i); | 
			
		
	
		
			
				
					|  |  |  |  | 	do { | 
			
		
	
		
			
				
					|  |  |  |  | 		len--; | 
			
		
	
		
			
				
					|  |  |  |  | 	} while (len >= 0 && (str[len] == ' ' || str[len] == '\t')); | 
			
		
	
		
			
				
					|  |  |  |  | 	str[len + 1] = '\0'; | 
			
		
	
		
			
				
					|  |  |  |  | 		i--; | 
			
		
	
		
			
				
					|  |  |  |  | 	} while (i >= 0 && (str[i] == ' ' || str[i] == '\t'));  | 
			
		
	
		
			
				
					|  |  |  |  | 	str[i + 1] = '\0'; | 
			
		
	
		
			
				
					|  |  |  |  | 	return str; | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |