Fixed munging of whitespace in sysinfo's matching functions
Closes #712
This commit is contained in:
		
							parent
							
								
									0b95c1c444
								
							
						
					
					
						commit
						721a9965aa
					
				
					 1 changed files with 21 additions and 4 deletions
				
			
		|  | @ -65,14 +65,31 @@ char *pretty_freespace(const char *desc, unsigned long long *free_k, unsigned lo | ||||||
|         return result; |         return result; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| void remove_leading_whitespace(char *buffer) | void remove_leading_whitespace(char *buffer) | ||||||
| { | { | ||||||
| 	char *pos; | 	char *buffer2 = NULL; | ||||||
|         while((pos = memchr(buffer, 0x20, 1))) | 	int i = 0, j = 0, ews = 0; | ||||||
|  | 
 | ||||||
|  | 	buffer2 = (char*)malloc(strlen(buffer) * sizeof(char)); | ||||||
|  | 	if (buffer2 == NULL) | ||||||
|  | 		return; | ||||||
|  | 
 | ||||||
|  | 	memset (buffer2, (char)0, strlen(buffer)); | ||||||
|  | 	while (i < strlen(buffer)) | ||||||
| 	{ | 	{ | ||||||
| 		pos += 1; | 		/* count tabs, spaces as whitespace. */ | ||||||
| 		strcpy(buffer, pos); | 		if (!(buffer[i] == (char)32 || buffer[i] == (char)9) || ews == 1) | ||||||
|  | 		{ | ||||||
|  | 			ews = 1; | ||||||
|  | 			buffer2[j] = buffer[i]; | ||||||
|  | 			j++; | ||||||
|  | 		} | ||||||
|  | 		i++; | ||||||
| 	} | 	} | ||||||
|  | 	memset (buffer, (char)0, strlen(buffer)); | ||||||
|  | 	strcpy (buffer, buffer2); | ||||||
|  | 	free (buffer2); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| char *decruft_filename(char *buffer) | char *decruft_filename(char *buffer) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue