SF.net SVN: geany-plugins:[2228] trunk/geany-plugins/debugger/src/dbm_gdb.c
cesspit at users.sourceforge.net
cesspit at xxxxx
Tue Oct 4 11:28:35 UTC 2011
Revision: 2228
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=2228&view=rev
Author: cesspit
Date: 2011-10-04 11:28:35 +0000 (Tue, 04 Oct 2011)
Log Message:
-----------
debugger: gdb pretty printers, leaks
Modified Paths:
--------------
trunk/geany-plugins/debugger/src/dbm_gdb.c
Modified: trunk/geany-plugins/debugger/src/dbm_gdb.c
===================================================================
--- trunk/geany-plugins/debugger/src/dbm_gdb.c 2011-10-04 08:09:09 UTC (rev 2227)
+++ trunk/geany-plugins/debugger/src/dbm_gdb.c 2011-10-04 11:28:35 UTC (rev 2228)
@@ -1110,24 +1110,34 @@
gchar *expression = unescape(pos);
g_string_assign(var->expression, expression);
g_free(expression);
+ g_free(record);
/* children number */
sprintf(command, "-var-info-num-children \"%s\"", varname);
exec_sync_command(command, TRUE, &record);
-
pos = strstr(record, "numchild=\"") + strlen("numchild=\"");
*(strchr(pos, '\"')) = '\0';
int numchild = atoi(pos);
var->has_children = numchild > 0;
+ g_free(record);
/* value */
- sprintf(command, "-var-evaluate-expression \"%s\"", varname);
+ sprintf(command, "-data-evaluate-expression \"%s\"", var->expression->str);
exec_sync_command(command, TRUE, &record);
- pos = strstr(record, "value=\"") + strlen("value=\"");
+ pos = strstr(record, "value=\"");
+ if (!pos)
+ {
+ g_free(record);
+ sprintf(command, "-var-evaluate-expression \"%s\"", varname);
+ exec_sync_command(command, TRUE, &record);
+ pos = strstr(record, "value=\"");
+ }
+ pos += + strlen("value=\"");
*(strrchr(pos, '\"')) = '\0';
gchar *value = unescape(pos);
g_string_assign(var->value, value);
g_free(value);
+ g_free(record);
/* type */
sprintf(command, "-var-info-type \"%s\"", varname);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Plugins-Commits
mailing list