void * mymalloc(int size, char *what);
void * myrealloc(void *oldp, int newsize, char *what);
char * mystrdup(char *in);

class buffered_reader
{
private:
        int fd, block_size;
        char *buffer;
        int buffer_length, buffer_pointer;

        int number_of_bytes_in_buffer(void);
        int read_into_buffer(void);

public:
        buffered_reader(int fd, int block_size=4096);
        ~buffered_reader();

        int garbage_collect(char shrink_buffer=0);

        char * read_line(void);
};

#define min(x, y)	((x) < (y) ? (x) : (y))


syntax highlighted by Code2HTML, v. 0.9.1