Fix opening folders in portable mode

This commit is contained in:
Berke Viktor 2012-10-13 10:24:43 +02:00
parent 6f1185c00e
commit dfd4828ad2
2 changed files with 6 additions and 3 deletions

View File

@ -232,9 +232,11 @@ url_check_word (char *word, int len)
const char *at, *dot;
int i, dots;
/* this is pretty much the same as in logmask_is_fullpath() except with length checks */
/* this is pretty much the same as in logmask_is_fullpath() except with length checks and .\ for portable mode */
#ifdef WIN32
if ((len > 1 && word[0] == '\\') || (len > 2 && (((word[0] >= 'A' && word[0] <= 'Z') || (word[0] >= 'a' && word[0] <= 'z')) && word[1] == ':')))
if ((len > 1 && word[0] == '\\') ||
(len > 2 && word[0] == '.' && word[1] == '\\') ||
(len > 2 && (((word[0] >= 'A' && word[0] <= 'Z') || (word[0] >= 'a' && word[0] <= 'z')) && word[1] == ':')))
#else
if (len > 1 && word[0] == '/')
#endif

View File

@ -45,6 +45,7 @@
#include "../common/xchatc.h"
#include "../common/plugin.h"
#include "../common/server.h"
#include "../common/url.h"
#include "gtkutil.h"
#include "maingui.h"
#include "pixmaps.h"
@ -1081,7 +1082,7 @@ static void
fe_open_url_locale (const char *url)
{
/* the http:// part's missing, prepend it, otherwise it won't always work */
if (strchr (url, ':') == NULL)
if (strchr (url, ':') == NULL && url_check_word (url, strlen (url)) != WORD_PATH)
{
url = g_strdup_printf ("http://%s", url);
fe_open_url_inner (url);