diff options
author | Ankit Vani <a@nevitus.org> | 2014-01-20 07:08:40 +0530 |
---|---|---|
committer | Ankit Vani <a@nevitus.org> | 2014-01-20 07:08:40 +0530 |
commit | f9d143ed730f41ab0e6415c3faf0a1005bf5e98c (patch) | |
tree | ff253f5d67807ebb76360e248a1368008d0e8523 /libpurple/savedstatuses.c | |
parent | 52673856710abe0d097de77a5159f29d266db266 (diff) | |
download | pidgin-f9d143ed730f41ab0e6415c3faf0a1005bf5e98c.tar.gz |
Update versions of XML files to "1.1", and warn if reading from a newer version
Diffstat (limited to 'libpurple/savedstatuses.c')
-rw-r--r-- | libpurple/savedstatuses.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libpurple/savedstatuses.c b/libpurple/savedstatuses.c index bc18e03a80..a1090ba5c3 100644 --- a/libpurple/savedstatuses.c +++ b/libpurple/savedstatuses.c @@ -35,6 +35,8 @@ #include "util.h" #include "xmlnode.h" +#define STATUS_XML_VERSION "1.1" + /** * The maximum number of transient statuses to save. This * is used during the shutdown process to clean out old @@ -319,7 +321,7 @@ statuses_to_xmlnode(void) GList *cur; node = purple_xmlnode_new("statuses"); - purple_xmlnode_set_attrib(node, "version", "1.0"); + purple_xmlnode_set_attrib(node, "version", STATUS_XML_VERSION); for (cur = saved_statuses; cur != NULL; cur = cur->next) { @@ -530,6 +532,7 @@ static void load_statuses(void) { PurpleXmlNode *statuses, *status; + const char *version; statuses_loaded = TRUE; @@ -538,6 +541,11 @@ load_statuses(void) if (statuses == NULL) return; + version = purple_xmlnode_get_attrib(statuses, "version"); + if (purple_version_strcmp(version, STATUS_XML_VERSION) > 0) + purple_debug_warning("savedstatuses", "status.xml on disk is for a " + "newer version of libpurple"); + for (status = purple_xmlnode_get_child(statuses, "status"); status != NULL; status = purple_xmlnode_get_next_twin(status)) { |