static inline void next_char(void);
static void next_preprocessing_token(void);
static void print_line_directive(const source_position_t *pos, const char *add);
static inline void next_char(void);
static void next_preprocessing_token(void);
static void print_line_directive(const source_position_t *pos, const char *add);
if (input.bufpos >= input.bufend) {
size_t s = fread(input.buf + MAX_PUTBACK, 1,
sizeof(input.buf) - MAX_PUTBACK, input.file);
if (input.bufpos >= input.bufend) {
size_t s = fread(input.buf + MAX_PUTBACK, 1,
sizeof(input.buf) - MAX_PUTBACK, input.file);