Revision: 1104 http://svn.sourceforge.net/geany/?rev=1104&view=rev Author: ntrel Date: 2006-12-16 09:00:41 -0800 (Sat, 16 Dec 2006)
Log Message: ----------- Fix memory leak in utils_check_disk_status().
Modified Paths: -------------- trunk/ChangeLog trunk/src/utils.c
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2006-12-15 18:33:29 UTC (rev 1103) +++ trunk/ChangeLog 2006-12-16 17:00:41 UTC (rev 1104) @@ -1,3 +1,9 @@ +2006-12-16 Nick Treleaven nick.treleaven@btinternet.com + + * src/utils.c: + Fix memory leak in utils_check_disk_status(). + + 2006-12-15 Enrico Tröger enrico.troeger@uvena.de
* src/main.c, src/sci_cb.c, src/sci_cb.h, src/symbols.c,
Modified: trunk/src/utils.c =================================================================== --- trunk/src/utils.c 2006-12-15 18:33:29 UTC (rev 1103) +++ trunk/src/utils.c 2006-12-16 17:00:41 UTC (rev 1104) @@ -329,6 +329,7 @@ struct stat st; time_t t; gchar *locale_filename; + gboolean ret = FALSE;
if (idx == -1 || doc_list[idx].file_name == NULL) return FALSE;
@@ -337,15 +338,15 @@ if (doc_list[idx].last_check > (t - GEANY_CHECK_FILE_DELAY)) return FALSE;
locale_filename = utils_get_locale_from_utf8(doc_list[idx].file_name); - if (stat(locale_filename, &st) != 0) return FALSE; - - if (doc_list[idx].mtime > t || st.st_mtime > t) + if (stat(locale_filename, &st) != 0) { + // TODO: warn user file on disk is missing + } + else if (doc_list[idx].mtime > t || st.st_mtime > t) + { geany_debug("Strange: Something is wrong with the time stamps."); - return FALSE; } - - if (doc_list[idx].mtime < st.st_mtime) + else if (doc_list[idx].mtime < st.st_mtime) { gchar *basename = g_path_get_basename(doc_list[idx].file_name);
@@ -361,9 +362,10 @@ doc_list[idx].mtime = st.st_mtime;
g_free(basename); - return TRUE; //file has changed + ret = TRUE; // file has changed } - return FALSE; + g_free(locale_filename); + return ret; }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.