+void lexer_open_buffer(const char *buffer, size_t len, const char *input_name)
+{
+ input = NULL;
+ lexer_token.source_position.linenr = 0;
+ lexer_token.source_position.input_name = input_name;
+
+ bufpos = buffer;
+ bufend = buffer + len;
+
+ /* place a virtual \n at the beginning so the lexer knows that we're
+ * at the beginning of a line */
+ c = '\n';
+}
+