Enlightenment CVS committal

Author  : kiwi
Project : e_modules
Module  : news

Dir     : e_modules/news/src/module


Modified Files:
        news_config.c news_utils.c news_utils.h 


Log Message:
auto detect proxy settings on first load

===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_config.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- news_config.c       23 May 2007 23:32:36 -0000      1.2
+++ news_config.c       24 May 2007 11:32:43 -0000      1.3
@@ -138,7 +138,13 @@
         c->feed.langs = news_util_lang_detect();
         c->feed.langs_all = NEWS_FEED_LANG_ALL_DEFAULT;
         c->feed.langs_notset = 1;
-        c->proxy.port = NEWS_FEED_PROXY_PORT_DEFAULT;
+        if (news_util_proxy_detect())
+          c->proxy.enable = 1;
+        else
+          {
+             c->proxy.host = NULL;
+             c->proxy.port = NEWS_FEED_PROXY_PORT_DEFAULT;
+          }
 
         c->browser.wich = NEWS_UTIL_BROWSER_DEFAULT;
 
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_utils.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- news_utils.c        23 May 2007 23:32:37 -0000      1.2
+++ news_utils.c        24 May 2007 11:32:43 -0000      1.3
@@ -121,6 +121,28 @@
    return list;
 }
 
+int
+news_util_proxy_detect(void)
+{
+   News_Config *c;
+   const char *proxy;
+   char *port;
+   char buf[1024];
+
+   c = news->config;
+   proxy = getenv("HTTP_PROXY");
+   if (!proxy) return 0;
+   strncpy(buf, proxy, sizeof(buf));
+   port = strrchr(buf, ':');
+   if (!port || (port == buf)) return 0;
+   if (!sscanf(port+1, "%d", &c->proxy.port)) return 0;
+   *port = '\0';
+   if (c->proxy.host) evas_stringshare_del(c->proxy.host);
+   c->proxy.host = evas_stringshare_add(buf);
+
+   return 1;
+}
+
 /*
  * Private functions
  *
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_utils.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- news_utils.h        23 May 2007 23:32:37 -0000      1.2
+++ news_utils.h        24 May 2007 11:32:43 -0000      1.3
@@ -46,6 +46,7 @@
 int         news_util_datecmp(struct tm *t1, struct tm *t2);
 int         news_util_browser_open(const char *url);
 Evas_List  *news_util_lang_detect(void);
+int         news_util_proxy_detect(void);
 
 #endif
 #endif



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to