Style: each local variable should preferably go on its own line. That is:

```c
char* line;
char* start;
char* buffer_end;
```

If you never mutate the memory a pointer points to, make it const.