|  |  |  | @ -19,18 +19,14 @@ static char *read_from_stdin() { | 
			
		
	
		
			
				
					|  |  |  |  | 			continue; | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		if (!buffer) { | 
			
		
	
		
			
				
					|  |  |  |  | 			buffer = strdup(line); | 
			
		
	
		
			
				
					|  |  |  |  | 		} else { | 
			
		
	
		
			
				
					|  |  |  |  | 			buffer = realloc(buffer, strlen(buffer) + strlen(line) + 2); | 
			
		
	
		
			
				
					|  |  |  |  | 			strcat(buffer, line); | 
			
		
	
		
			
				
					|  |  |  |  | 			strcat(buffer, "\n"); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 		size_t curlen = buffer ? strlen(buffer) : 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		buffer = realloc(buffer, curlen + strlen(line) + 2); | 
			
		
	
		
			
				
					|  |  |  |  | 		snprintf(buffer + curlen, strlen(line) + 2, "%s\n", line); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		free(line); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	if (buffer && buffer[strlen(buffer) - 1] == '\n') { | 
			
		
	
		
			
				
					|  |  |  |  | 	while (buffer && buffer[strlen(buffer) - 1] == '\n') { | 
			
		
	
		
			
				
					|  |  |  |  | 		buffer[strlen(buffer) - 1] = '\0'; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |