[Toxine-cvs] CVS: toxine/src commands.c,1.41,1.42 xine_commands.c,1.25,1.26 xine_commands.h,1.15,1.1
Brought to you by:
f1rmb
From: Daniel Caujolle-B. <f1...@us...> - 2002-09-20 23:48:09
|
Update of /cvsroot/toxine/toxine/src In directory usw-pr-cvs1:/tmp/cvs-serv19191/src Modified Files: commands.c xine_commands.c xine_commands.h Log Message: Log related functions polished. Index: commands.c =================================================================== RCS file: /cvsroot/toxine/toxine/src/commands.c,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- commands.c 20 Sep 2002 22:36:47 -0000 1.41 +++ commands.c 20 Sep 2002 23:48:06 -0000 1.42 @@ -704,9 +704,7 @@ return 0; } - printf("init\n"); tox->video.cur_plugin->video_out_init(tox); - printf("init done\n"); /* Display plugin help string, if available */ if(tox->video.cur_plugin->get_help) { Index: xine_commands.c =================================================================== RCS file: /cvsroot/toxine/toxine/src/xine_commands.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- xine_commands.c 20 Sep 2002 22:48:46 -0000 1.25 +++ xine_commands.c 20 Sep 2002 23:48:06 -0000 1.26 @@ -1213,15 +1213,54 @@ /* * */ -void _xine_get_log_section_count(commands_t *command, toxine_t *tox, void *data) { - int count; +void _xine_get_log(commands_t *command, toxine_t *tox, void *data) { + int buftype = -1; + const char *const *logs; + const char *log = NULL, *bufname; + const char *const *log_names; return_if_no_init(tox); - pinfo("xine_get_log_section_count():\n"); - count = xine_get_log_section_count(tox->xine); - pinfo("returned %d\n", count); - pinfo("\n"); + + bufname = toxine_get_arg(tox, 1); + + log_names = xine_get_log_names(tox->xine); + if(log_names) { + int i; + + for(i = 0, log = *log_names++; log; log = *log_names++, i++) { + if(!strncasecmp(bufname, log, strlen(bufname))) { + buftype = i; + break; + } + } + } + if(buftype == -1) { + buftype = atoi(((char *)bufname)); + if(buftype >= xine_get_log_section_count(tox->xine)) { + perr("buffer number %d is out of bounds\n", buftype); + return; + } + pinfo("xine_get_log(%d):\n", buftype); + } + else + pinfo("xine_get_log(%s):\n", log); + + logs = xine_get_log(tox->xine, buftype); + if(logs) { + char buffer[2048]; + + for(log = *logs++; log; log = *logs++) { + memset(&buffer, 0, sizeof(buffer)); + sprintf(buffer, "%s%c", log, '\n'); + pinfo("%s", buffer); + } + pinfo(".\n"); + } + else + pinfo("No log entry available.\n"); + + pinfo("\n"); } /* @@ -1230,55 +1269,78 @@ void _xine_get_log_names(commands_t *command, toxine_t *tox, void *data) { const char *const *log_names; const char *log; + char buffer[2048]; return_if_no_init(tox); + + memset(&buffer, 0, sizeof(buffer)); + pinfo("xine_get_log_names():\n"); log_names = xine_get_log_names(tox->xine); if(log_names) { for(log = *log_names++; log; log = *log_names++) { - pinfo("%s, ", log); + if(strlen(buffer)) + sprintf(buffer, "%s, %s", buffer, log); + else + sprintf(buffer, "%s", log); } -#warning CLEANME - pinfo("\b\b.\n"); + sprintf(buffer, "%s.\n", buffer); + pinfo(buffer); + pinfo(".\n"); } } /* * */ -void _xine_log(commands_t *command, toxine_t *tox, void *data) { - int buftype; - const char *msg; - - return_if_no_init(tox); +void _xine_get_log_section_count(commands_t *command, toxine_t *tox, void *data) { + int count; - buftype = atoi(((char *)toxine_get_arg(tox, 1))); - msg = toxine_get_arg(tox, 2); - pinfo("xine_log(%d, '%s'\n", buftype, msg); - xine_log(tox->xine, buftype, msg); + return_if_no_init(tox); + pinfo("xine_get_log_section_count():\n"); + count = xine_get_log_section_count(tox->xine); + pinfo("returned %d\n", count); pinfo("\n"); + } /* * */ -void _xine_get_log(commands_t *command, toxine_t *tox, void *data) { - int buftype; - const char *const *logs; - const char *log; +void _xine_log(commands_t *command, toxine_t *tox, void *data) { + int buftype = -1; + const char *msg, *log = NULL, *bufname; + const char *const *log_names; return_if_no_init(tox); - buftype = atoi(((char *)toxine_get_arg(tox, 1))); - pinfo("xine_get_log(%d):\n", buftype); - logs = xine_get_log(tox->xine, buftype); - if(logs) { - for(log = *logs++; log; log = *logs++) { - pinfo("%s, ", log); + bufname = toxine_get_arg(tox, 1); + log_names = xine_get_log_names(tox->xine); + if(log_names) { + int i; + + for(i = 0, log = *log_names++; log; log = *log_names++, i++) { + if(!strncasecmp(bufname, log, strlen(bufname))) { + buftype = i; + break; + } } } + + msg = toxine_get_arg(tox, 2); + + if(buftype == -1) { + buftype = atoi(((char *)toxine_get_arg(tox, 1))); + if(buftype >= xine_get_log_section_count(tox->xine)) { + perr("buffer number %d is out of bounds\n", buftype); + return; + } + pinfo("xine_log(%d, '%s')\n", buftype, msg); + } else - pinfo("No log entry available.\n"); + pinfo("xine_log(%s, '%s')\n", log, msg); + + xine_log(tox->xine, buftype, msg); pinfo("\n"); } Index: xine_commands.h =================================================================== RCS file: /cvsroot/toxine/toxine/src/xine_commands.h,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- xine_commands.h 20 Sep 2002 22:48:46 -0000 1.15 +++ xine_commands.h 20 Sep 2002 23:48:06 -0000 1.16 @@ -37,9 +37,9 @@ void _xine_get_audio_lang(commands_t *, toxine_t *, void *); void _xine_get_spu_lang(commands_t *, toxine_t *, void *); void _xine_get_pos_length(commands_t *, toxine_t *, void *); -void _xine_get_log_section_count(commands_t *, toxine_t *, void *); -void _xine_get_log_names(commands_t *, toxine_t *, void *); void _xine_log(commands_t *, toxine_t *, void *); +void _xine_get_log_names(commands_t *, toxine_t *, void *); +void _xine_get_log_section_count(commands_t *, toxine_t *, void *); void _xine_get_log(commands_t *, toxine_t *, void *); void _xine_get_browsable_input_plugin_ids(commands_t *, toxine_t *, void *); void _xine_get_browse_mrls(commands_t *, toxine_t *, void *); @@ -202,21 +202,23 @@ "set position length.", \ "xine_get_pos_length" \ }, \ - { "xine_get_log_section_count", NO_ARGS, _xine_get_log_section_count, \ - "xine_get_log_section_count", \ - "xine_get_log_section_count" \ + { "xine_get_log", REQUIRE_ARGS, _xine_get_log, \ + "Retrieve log entries from given buffer.", \ + "xine_get_log <buffer>\n" \ + " - buffer can be named (matching with xine_get_log_names()) or a numeric value." \ }, \ { "xine_get_log_names", NO_ARGS, _xine_get_log_names, \ - "xine_get_log_names", \ + "Retrieve log section names.", \ "xine_get_log_names" \ }, \ - { "xine_log", REQUIRE_ARGS, _xine_log, \ - "xine_log", \ - "xine_log" \ + { "xine_get_log_section_count", NO_ARGS, _xine_get_log_section_count, \ + "Retrieve number of log buffers.", \ + "xine_get_log_section_count" \ }, \ - { "xine_get_log", REQUIRE_ARGS, _xine_get_log, \ - "xine_get_log", \ - "xine_get_log" \ + { "xine_log", REQUIRE_ARGS, _xine_log, \ + "Add an entry to a log buffer.", \ + "xine_log <buffer> <message>\n" \ + " - buffer can be named (matching with xine_get_log_names()) or a numeric value." \ }, \ { "xine_get_browsable_input_plugin_ids", NO_ARGS, _xine_get_browsable_input_plugin_ids, \ "Get list of browsable input plugins.", \ |