From 1a594de74e9584e6f649c37912751c584f1a73a2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rodolfo=20Garc=C3=ADa=20Pe=C3=B1as=20=28kix=29?= Date: Wed, 6 Jun 2012 12:34:36 +0200 Subject: [PATCH] Remove code duplication by calling readGlobalDomain() The code in defaults.c to get the shared database is included in the same file (function readGlobalDomain). --- src/defaults.c | 40 +++++++++++++--------------------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/src/defaults.c b/src/defaults.c index 0c4daf1b..50e8cbe7 100644 --- a/src/defaults.c +++ b/src/defaults.c @@ -803,7 +803,6 @@ WDDomain *wDefaultsInitDomain(char *domain, Bool requireDictionary) WDDomain *db; struct stat stbuf; static int inited = 0; - char path[PATH_MAX]; char *the_path; WMPropList *shared_dict = NULL; @@ -832,32 +831,19 @@ WDDomain *wDefaultsInitDomain(char *domain, Bool requireDictionary) } /* global system dictionary */ - snprintf(path, sizeof(path), "%s/%s/%s", SYSCONFDIR, GLOBAL_DEFAULTS_SUBDIR, domain); - if (stat(path, &stbuf) >= 0) { - shared_dict = WMReadPropListFromFile(path); - if (shared_dict) { - if (requireDictionary && !WMIsPLDictionary(shared_dict)) { - wwarning(_("Domain %s (%s) of global defaults database is corrupted!"), - domain, path); - WMReleasePropList(shared_dict); - shared_dict = NULL; - } else { - if (db->dictionary && WMIsPLDictionary(shared_dict) && - WMIsPLDictionary(db->dictionary)) { - WMMergePLDictionaries(shared_dict, db->dictionary, True); - WMReleasePropList(db->dictionary); - db->dictionary = shared_dict; - if (stbuf.st_mtime > db->timestamp) - db->timestamp = stbuf.st_mtime; - } else if (!db->dictionary) { - db->dictionary = shared_dict; - if (stbuf.st_mtime > db->timestamp) - db->timestamp = stbuf.st_mtime; - } - } - } else { - wwarning(_("could not load domain %s from global defaults database (%s)"), domain, path); - } + shared_dict = readGlobalDomain(domain, requireDictionary); + + if (shared_dict && db->dictionary && WMIsPLDictionary(shared_dict) && + WMIsPLDictionary(db->dictionary)) { + WMMergePLDictionaries(shared_dict, db->dictionary, True); + WMReleasePropList(db->dictionary); + db->dictionary = shared_dict; + if (stbuf.st_mtime > db->timestamp) + db->timestamp = stbuf.st_mtime; + } else if (!db->dictionary) { + db->dictionary = shared_dict; + if (stbuf.st_mtime > db->timestamp) + db->timestamp = stbuf.st_mtime; } return db; -- 2.11.4.GIT