struct setting_link *roots;
unsigned int root_count;
struct hash_table *links;
- string_t *save_input_str;
unsigned int linenum;
const char *error;
int settings_parse_stream_read(struct setting_parser_context *ctx,
struct istream *input)
{
- const unsigned char *data;
- size_t size;
int ret;
while ((ret = i_stream_read(input)) > 0) {
- if (ctx->save_input_str != NULL) {
- data = i_stream_get_data(input, &size);
- str_append_n(ctx->save_input_str, data, size);
- }
if ((ret = settings_parse_stream(ctx, input)) < 0)
return -1;
if (ret == 0) {
return dest_set;
}
-void settings_parse_save_input(struct setting_parser_context *ctx,
- string_t *dest)
-{
- ctx->save_input_str = dest;
-}
-
static void
info_update_real(pool_t pool, const struct dynamic_settings_parser *parsers)
{
/* Return the parser info used for the previously parsed line. */
const struct setting_parser_info *
settings_parse_get_prev_info(struct setting_parser_context *ctx);
-/* Save all parsed input to given string. */
-void settings_parse_save_input(struct setting_parser_context *ctx,
- string_t *dest);
/* Returns TRUE if the given key is a valid setting. */
bool settings_parse_is_valid_key(struct setting_parser_context *ctx,