size_t *save_idx, struct substring *token);
void ss_advance (struct substring *, size_t);
bool ss_match_char (struct substring *, char);
+int ss_match_char_in (struct substring *, struct substring);
bool ss_match_string (struct substring *, const struct substring);
int ss_get_char (struct substring *);
size_t ss_get_chars (struct substring *, size_t cnt, struct substring *);
char *ds_cstr (const struct string *);
/* File input. */
-bool ds_read_line (struct string *, FILE *);
+bool ds_read_line (struct string *, FILE *, size_t max_length);
bool ds_read_config_line (struct string *, int *line_number, FILE *);
bool ds_read_stream (struct string *, size_t size, size_t cnt, FILE *stream);