Cmon Garfield, I thought you'd got the hang of this Code: #include #include #include #define SEG_LENGTH 21 typedef struct line_segment { char buff[SEG_LENGTH]; struct line_segment *next; } line_seg; line_seg *append_line ( line_seg *head, char *buff ) { // allocate (should check for NULL) line_seg *temp = malloc( sizeof(line_seg) ); // copy data strcpy( temp->buff, buff ); temp->next = ...