Revision: 5709 http://geany.svn.sourceforge.net/geany/?rev=5709&view=rev Author: ntrel Date: 2011-04-11 14:26:51 +0000 (Mon, 11 Apr 2011)
Log Message: ----------- Make utils_make_filename() return a copy for safety.
Modified Paths: -------------- trunk/ChangeLog trunk/src/filetypes.c trunk/src/utils.c trunk/src/utils.h
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2011-04-11 14:21:52 UTC (rev 5708) +++ trunk/ChangeLog 2011-04-11 14:26:51 UTC (rev 5709) @@ -11,6 +11,8 @@ * src/filetypes.c, src/filetypes.h: Refactor with filetypes_get_filename(). Make filetypes_get_conf_extension() static. + * src/utils.c, src/utils.h, src/filetypes.c: + Make utils_make_filename() return a copy for safety.
2011-04-10 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de> @@ -31,7 +33,7 @@ 2011-04-08 Colomban Wendling <colomban(at)geany(dot)org>
* scintilla/lexers/LexCPP.cxx: - Make hightlighting of triple-quoted verbatim an option (Backport + Make highlighting of triple-quoted verbatim an option (Backport from Scintilla HG 3602:5536ed81a85b). * src/highlighting.c: Add highlight for triple-quoted verbatims.
Modified: trunk/src/filetypes.c =================================================================== --- trunk/src/filetypes.c 2011-04-11 14:21:52 UTC (rev 5708) +++ trunk/src/filetypes.c 2011-04-11 14:26:51 UTC (rev 5709) @@ -1221,7 +1221,7 @@ static gchar *filetypes_get_filename(GeanyFiletype *ft, gboolean user) { gchar *ext = filetypes_get_conf_extension(ft->id); - const gchar *f; + gchar *f;
if (user) f = utils_make_filename(app->configdir, @@ -1230,7 +1230,7 @@ f = utils_make_filename(app->datadir, "filetypes.", ext, NULL);
g_free(ext); - return g_strdup(f); + return f; }
Modified: trunk/src/utils.c =================================================================== --- trunk/src/utils.c 2011-04-11 14:21:52 UTC (rev 5708) +++ trunk/src/utils.c 2011-04-11 14:26:51 UTC (rev 5709) @@ -1769,10 +1769,8 @@ * @param path A path, which will have a separator added before the other strings. * @param ... Strings to concatenate (no directory separators will be * inserted between them). - * @warning This returns temporary string contents only valid until the next call - * to this function. * E.g. filename = utils_make_filename(app->datadir, "filetypes.", ext, NULL); */ -const gchar *utils_make_filename(const gchar *path, ...) +gchar *utils_make_filename(const gchar *path, ...) { static GString *buffer = NULL; va_list args; @@ -1787,7 +1785,7 @@ va_start(args, path); utils_string_vappend(buffer, NULL, args); va_end(args); - return buffer->str; + return g_strdup(buffer->str); }
Modified: trunk/src/utils.h =================================================================== --- trunk/src/utils.h 2011-04-11 14:21:52 UTC (rev 5708) +++ trunk/src/utils.h 2011-04-11 14:26:51 UTC (rev 5709) @@ -249,7 +249,7 @@
const gchar *utils_build_path(const gchar *first, ...) G_GNUC_NULL_TERMINATED;
-const gchar *utils_make_filename(const gchar *path, ...) G_GNUC_NULL_TERMINATED; +gchar *utils_make_filename(const gchar *path, ...) G_GNUC_NULL_TERMINATED;
gchar *utils_get_path_from_uri(const gchar *uri);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.