diff options
author | martin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2012-12-25 10:39:34 +0000 |
---|---|---|
committer | martin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2012-12-25 10:39:34 +0000 |
commit | 687fdcc4fb060dc1079ecc2d9dfa1456e5f556d7 (patch) | |
tree | 5d8949a771eb2a3973a4c8171249d2d085296210 | |
parent | 87e746a48fe089d81958599e67326660b2dcc447 (diff) | |
download | navit-687fdcc4fb060dc1079ecc2d9dfa1456e5f556d7.tar.gz |
Add:gui_internal:Added debug command and let write command accept multiple arguments
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5317 ffa7fe5e-494d-0410-b361-a75ebd5db220
-rw-r--r-- | navit/gui/internal/gui_internal_command.c | 42 |
1 files changed, 33 insertions, 9 deletions
diff --git a/navit/gui/internal/gui_internal_command.c b/navit/gui/internal/gui_internal_command.c index 21bd21be1..380b17699 100644 --- a/navit/gui/internal/gui_internal_command.c +++ b/navit/gui/internal/gui_internal_command.c @@ -992,23 +992,46 @@ gui_internal_cmd2_quit(struct gui_priv *this, char *function, struct attr **in, static void gui_internal_cmd_write(struct gui_priv * this, char *function, struct attr **in, struct attr ***out, int *valid) { - char *str=NULL,*str2=NULL; + char *str=NULL; dbg(1,"enter %s %p %p %p\n",function,in,out,valid); - if (!in || !in[0]) + if (!in) return; - dbg(1,"%s\n",attr_to_name(in[0]->type)); - if (ATTR_IS_STRING(in[0]->type)) { - str=in[0]->u.str; - } - if (ATTR_IS_COORD_GEO(in[0]->type)) { - str=str2=coordinates_geo(in[0]->u.coord_geo, '\n'); + while (*in) { + dbg(1,"%s\n",attr_to_name((*in)->type)); + if (ATTR_IS_STRING((*in)->type)) { + str=g_strconcat_printf(str,"%s",(*in)->u.str); + } + if (ATTR_IS_COORD_GEO((*in)->type)) { + char *str2=coordinates_geo((*in)->u.coord_geo, '\n'); + str=g_strconcat_printf(str,"%s",str2); + g_free(str2); + } + in++; } if (str) { str=g_strdup_printf("<html>%s</html>\n",str); +#if 0 + dbg(0,"%s\n",str); +#endif gui_internal_html_parse_text(this, str); } g_free(str); - g_free(str2); +} + +static void +gui_internal_cmd_debug(struct gui_priv * this, char *function, struct attr **in, struct attr ***out, int *valid) +{ + char *str; + dbg(0,"begin\n"); + if (in) { + while (*in) { + str=attr_to_text(*in, NULL, 0); + dbg(0,"%s:%s\n",attr_to_name((*in)->type),str); + in++; + g_free(str); + } + } + dbg(0,"done\n"); } static void @@ -1069,6 +1092,7 @@ static struct command_table commands[] = { {"back",command_cast(gui_internal_cmd2_back)}, {"back_to_map",command_cast(gui_internal_cmd2_back_to_map)}, {"bookmarks",command_cast(gui_internal_cmd2)}, + {"debug",command_cast(gui_internal_cmd_debug)}, {"formerdests",command_cast(gui_internal_cmd2)}, {"get_data",command_cast(gui_internal_get_data)}, {"layouts_page",command_cast(gui_internal_cmd_layouts_page)}, |