diff options
Diffstat (limited to 'conf/conf.c')
-rw-r--r-- | conf/conf.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/conf/conf.c b/conf/conf.c index 11c136e7..4e31de29 100644 --- a/conf/conf.c +++ b/conf/conf.c @@ -201,6 +201,23 @@ config_free(struct config *c) rfree(c->pool); } +/** + * config_free_old - free stored old configuration + * + * This function frees the old configuration (%old_config) that is saved for the + * purpose of undo. It is useful before parsing a new config when reconfig is + * requested, to avoid keeping three (perhaps memory-heavy) configs together. + */ +void +config_free_old(void) +{ + tm_stop(config_timer); + undo_available = 0; + + config_free(old_config); + old_config = NULL; +} + void config_add_obstacle(struct config *c) { |