SF.net SVN: geany:[4183] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Mon Sep 14 11:14:23 UTC 2009
Revision: 4183
http://geany.svn.sourceforge.net/geany/?rev=4183&view=rev
Author: ntrel
Date: 2009-09-14 11:14:23 +0000 (Mon, 14 Sep 2009)
Log Message:
-----------
Fix opening filenames beginning with two dots (closes #2858487).
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/utils.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2009-09-13 15:36:43 UTC (rev 4182)
+++ trunk/ChangeLog 2009-09-14 11:14:23 UTC (rev 4183)
@@ -1,3 +1,9 @@
+2009-09-14 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
+
+ * src/utils.c:
+ Fix opening filenames beginning with two dots (closes #2858487).
+
+
2009-09-13 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/keybindings.c:
Modified: trunk/src/utils.c
===================================================================
--- trunk/src/utils.c 2009-09-13 15:36:43 UTC (rev 4182)
+++ trunk/src/utils.c 2009-09-14 11:14:23 UTC (rev 4183)
@@ -1733,8 +1733,8 @@
if (preserve_double_backslash)
g_string_prepend(str, "\\");
- /* replace "/.." */
- needle = G_DIR_SEPARATOR_S "..";
+ /* replace "/../" */
+ needle = G_DIR_SEPARATOR_S ".." G_DIR_SEPARATOR_S;
while (1)
{
c = strstr(str->str, needle);
@@ -1746,9 +1746,11 @@
if (pos <= 3)
break; /* bad path */
- g_string_erase(str, pos, strlen(needle)); /* erase "/.." */
+ /* replace "/../" */
+ g_string_erase(str, pos, strlen(needle));
+ g_string_insert_c(str, pos, G_DIR_SEPARATOR);
- tmp = g_strndup(str->str, pos); /* path up to "/.." */
+ tmp = g_strndup(str->str, pos); /* path up to "/../" */
c = g_strrstr(tmp, G_DIR_SEPARATOR_S);
g_return_if_fail(c);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list