From 26876ab80c2204cc990669a2b8db4854a5ab7d59 Mon Sep 17 00:00:00 2001 From: ketmar Date: Mon, 19 Nov 2012 05:58:18 +0000 Subject: [PATCH] fixed bug: per-site configs was ignored if 'use saved state' mode invoked FossilOrigin-Name: 855bde617752c7a77069189249dfb814bcc12d32791ab0b5b89a3a78a7036907 --- src/syren/syren.c | 46 +++++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/src/syren/syren.c b/src/syren/syren.c index 0dd2e04..6b88fe2 100644 --- a/src/syren/syren.c +++ b/src/syren/syren.c @@ -1130,6 +1130,29 @@ static void restoreConfig (void) { } +static void loadPerSiteConfig (void) { + TSyURL *url = SyURLNew(); + // + if (SyURLParse(url, oURL) == SY_OK) { + char *e = strrchr(url->host, '.'); + // + if (e != NULL && strcmp(e, ".i2p") == 0) { + // I2P site + SyCfgSetKeyValue(curcfg, "http_proxy", "127.0.0.1:4444"); + SyCfgSetKeyValue(curcfg, "use_http_proxy", "tan"); + } else { + char *t = getenv("HOME"), *cfgname = SySPrintf("%s/%s/%s.rc", t!=NULL?t:"/etc", t!=NULL?".syren":"syren", url->host); + // + //fprintf(stderr, "[%s]\n", cfgname); + SyCfgLoad(curcfg, cfgname, &prs); + SyStrFree(cfgname); + } + } + // + SyURLFree(url); +} + + int main (int argc, char *argv[]) { int mainres = 1; char *s, *t; @@ -1213,27 +1236,6 @@ do { SyMessage(&prs, SY_MSG_ERROR, "memory error"); goto done; } - { - TSyURL *url = SyURLNew(); - // - if (SyURLParse(url, oURL) == SY_OK) { - char *e = strrchr(url->host, '.'); - // - if (e != NULL && strcmp(e, ".i2p") == 0) { - // I2P site - SyCfgSetKeyValue(curcfg, "http_proxy", "127.0.0.1:4444"); - SyCfgSetKeyValue(curcfg, "use_http_proxy", "tan"); - } else { - char *t = getenv("HOME"), *cfgname = SySPrintf("%s/%s/%s.rc", t!=NULL?t:"/etc", t!=NULL?".syren":"syren", url->host); - // - //fprintf(stderr, "[%s]\n", cfgname); - SyCfgLoad(curcfg, cfgname, &prs); - SyStrFree(cfgname); - } - // - SyURLFree(url); - } - } /*if (!oURL) { SyMessage(&prs, SY_MSG_ERROR, "URL?"); goto done; }*/ } else { SyKVListClear(oURLList); @@ -1251,6 +1253,8 @@ do { if (dumpState == SY_TRUE) { DumpState(state); goto done; } } + loadPerSiteConfig(); + if (replyOnly == SY_FALSE && oResume == SY_TRUE && CheckResume(state) != SY_OK) goto done; if (strcasestr(oURL, "worldofspectrum.org")) optWOS = 15; // hehe -- 2.11.4.GIT