mirror of
https://github.com/irssi/irssi.git
synced 2026-08-17 23:52:22 +02:00
Added modify counter which is increased every time something is changed
in configuration. Autosaving settings doesn't even try to save them if config isn't changed. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@871 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
532d6c1e9d
commit
a954fa03d0
3 changed files with 11 additions and 4 deletions
|
|
@ -46,12 +46,13 @@ typedef struct {
|
|||
struct _config_rec {
|
||||
char *fname;
|
||||
int handle;
|
||||
int create_mode;
|
||||
int create_mode;
|
||||
int modifycounter; /* increase every time something is changed */
|
||||
|
||||
char *last_error;
|
||||
CONFIG_NODE *mainnode;
|
||||
GHashTable *cache; /* path -> node (for querying) */
|
||||
GHashTable *cache_nodes; /* node -> path (for removing) */
|
||||
GHashTable *cache_nodes; /* node -> path (for removing) */
|
||||
|
||||
GScanner *scanner;
|
||||
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ void config_node_remove(CONFIG_REC *rec, CONFIG_NODE *parent, CONFIG_NODE *node)
|
|||
g_return_if_fail(parent != NULL);
|
||||
g_return_if_fail(node != NULL);
|
||||
|
||||
rec->modifycounter++;
|
||||
cache_remove(rec, node);
|
||||
parent->value = g_slist_remove(parent->value, node);
|
||||
|
||||
|
|
@ -114,6 +115,7 @@ void config_node_set_str(CONFIG_REC *rec, CONFIG_NODE *parent, const char *key,
|
|||
}
|
||||
|
||||
node->value = g_strdup(value);
|
||||
rec->modifycounter++;
|
||||
}
|
||||
|
||||
void config_node_set_int(CONFIG_NODE *parent, const char *key, int value)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue