SF.net SVN: geany: [377] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Tue May 30 15:29:28 UTC 2006
Revision: 377
Author: eht16
Date: 2006-05-30 08:29:21 -0700 (Tue, 30 May 2006)
ViewCVS: http://svn.sourceforge.net/geany/?rev=377&view=rev
Log Message:
-----------
Fixed a wrong(non ISO-C) array size allocation, improved utils_replace_tabs()
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/utils.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2006-05-30 15:28:13 UTC (rev 376)
+++ trunk/ChangeLog 2006-05-30 15:29:21 UTC (rev 377)
@@ -1,14 +1,25 @@
+2006-05-30 Enrico Troeger <enrico.troeger at uvena.de>
+
+ * src/dialogs.c, src/main.c:
+ Removed unneeded function dialogs_show_fifo_error(), fixed small
+ memory leak in dialogs_show_question()
+ * src/utils.c: Fixed a wrong(non ISO-C) array size allocation,
+ improved utils_replace_tabs().
+ * src/keybindings.c: Added shortcut for Replace Tabs by Space,
+ extend usage of GEANY_ADD_ACCEL macro.
+
+
2006-05-29 Enrico Troeger <enrico.troeger at uvena.de>
- * src/about.c: added Jacek Wolszczak and Frank Lanitz to the credits
+ * src/about.c: Added Jacek Wolszczak and Frank Lanitz to the credits.
2006-05-28 Enrico Troeger <enrico.troeger at uvena.de>
- * configure.in, po/po.po: added Polish translation contributed by
- Jacek Wolszczak
- * src/dialogs.c, src/utils.c: made recent files menu item insensitive
- when the list is empty
+ * configure.in, po/pl.po: Added Polish translation contributed by
+ Jacek Wolszczak.
+ * src/dialogs.c, src/utils.c: Made recent files menu item insensitive
+ when the list is empty.
2006-05-26 Nick Treleaven <nick.treleaven at btinternet.com>
Modified: trunk/src/utils.c
===================================================================
--- trunk/src/utils.c 2006-05-30 15:28:13 UTC (rev 376)
+++ trunk/src/utils.c 2006-05-30 15:29:21 UTC (rev 377)
@@ -92,6 +92,7 @@
/* updates the status bar */
void utils_update_statusbar(gint idx, gint pos)
{
+ // currently text need in German and C locale about 150 chars
gchar *text = (gchar*) g_malloc0(250);
gchar *cur_tag;
guint line, col;
@@ -1473,21 +1474,30 @@
{
gint i, len, j = 0, tabs_amount = 0;
gint tab_w = sci_get_tab_width(doc_list[idx].sci);
- /// TODO Warnung: ISO-C90 verbietet Feld »replacement« variabler Größe
- gchar *data, replacement[tab_w + 1];
+ gchar *data, *replacement;
gchar *text;
+ replacement = g_malloc(tab_w + 1);
+
// get the text
len = sci_get_length(doc_list[idx].sci) + 1;
data = g_malloc(len);
sci_get_text(doc_list[idx].sci, len, data);
// prepare the spaces with the width of a tab
- for (i = 0; i < tab_w; i++) replacement[i] = 32;
- replacement[tab_w] = 0;
+ for (i = 0; i < tab_w; i++) replacement[i] = ' ';
+ replacement[tab_w] = '\0';
for (i = 0; i < len; i++) if (data[i] == 9) tabs_amount++;
+ // if there are no tabs, just return and leave the content untouched
+ if (tabs_amount == 0)
+ {
+ g_free(data);
+ g_free(replacement);
+ return;
+ }
+
text = g_malloc(len + (tabs_amount * (tab_w - 1)));
for (i = 0; i < len; i++)
@@ -1509,6 +1519,7 @@
g_free(data);
g_free(text);
+ g_free(replacement);
}
/* GList of strings operations */
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