is the stuff after the full line moved to the beginning of the buffer and is after and room being correctly updated
// Note that we could have also used write to avoid having to
// put the '\0' in the buffer. Try using write later!

// Step 4: update inbuf and remove the full line from the buffer
// There might be stuff after the line, so don't just do inbuf = 0.

// You want to move the stuff after the full line to the beginning
// of the buffer.  A loop can do it, or you can use memmove.
// memmove(destination, source, number_of_bytes)
inbuf -= where;
memmove(buf, buf + where, sizeof(buf) - where);
}
// Step 5: update after and room, in preparation for the next read.
after = buf;
room = sizeof(buf) - find_network_newline(buf, inbuf);
}
close(fd);
printf("The connection is now closed ...\n");
}

free(self);
close(listenfd);
return 0;
}