| 
						
						
						
					 | 
				
				 | 
				
					@ -1,68 +1,9 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include <stdlib.h> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include <stdio.h> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include <string.h> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#include "getline.h" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					char *getLine(void); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					char *trim(char *phrase); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					char *getLine(void) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    const size_t sizeIncrement = 10; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    char *buffer = malloc(sizeIncrement); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    char *currentPosition = buffer; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    size_t maximumLength = sizeIncrement; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    size_t length = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    int character; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    if (currentPosition == NULL) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        return NULL; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    while (1) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        character =fgetc(stdin); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (character == '\n') { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            break; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (++length >= maximumLength) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            char *newBuffer = (char*) realloc(buffer, maximumLength += sizeIncrement); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (newBuffer == NULL) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                free(buffer); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                return NULL; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            currentPosition = newBuffer + (currentPosition - buffer); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            buffer = newBuffer; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        *currentPosition++ = character; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    *currentPosition = '\0'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    return buffer; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					char *trim(char *phrase) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    char *old = phrase; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    char *new = phrase; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // skip blank chars | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    while (*old == ' ') { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        old++; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    while (*old) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        *new = *old; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        new++; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        old++; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // set string end char | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    *new = 0; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    return (char*) realloc(phrase, strlen(phrase) + 1); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					int main(void) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |