diff --git a/tivo_commands.c b/tivo_commands.c index d53e70b..e977836 100644 --- a/tivo_commands.c +++ b/tivo_commands.c @@ -151,7 +151,8 @@ int callback(void *args, int argc, char **argv, char **azColName) memcpy(passed_args->resp+passed_args->size, &str_buf, ret+1); passed_args->size += ret; } - if( comment ) { + if( comment ) + { ret = sprintf(str_buf, "%s", comment); memcpy(passed_args->resp+passed_args->size, &str_buf, ret+1); passed_args->size += ret; @@ -159,13 +160,26 @@ int callback(void *args, int argc, char **argv, char **azColName) } else if( strncmp(mime, "video", 5) == 0 ) { + char *episode; flags |= FLAG_NO_PARAMS; flags |= FLAG_VIDEO; ret = sprintf(str_buf, "
" "video/x-tivo-mpeg" "%s" - "%s" - "%s", mime, size, title); + "%s", mime, size); + memcpy(passed_args->resp+passed_args->size, &str_buf, ret+1); + passed_args->size += ret; + episode = strstr(title, " - "); + if( episode ) + { + ret = sprintf(str_buf, "%.*s" + "%s", + episode-title, title, episode+3); + } + else + { + ret = sprintf(str_buf, "%s", title); + } memcpy(passed_args->resp+passed_args->size, &str_buf, ret+1); passed_args->size += ret; if( date ) @@ -177,6 +191,12 @@ int callback(void *args, int argc, char **argv, char **azColName) memcpy(passed_args->resp+passed_args->size, &str_buf, ret+1); passed_args->size += ret; } + if( comment ) + { + ret = sprintf(str_buf, "%s", comment); + memcpy(passed_args->resp+passed_args->size, &str_buf, ret+1); + passed_args->size += ret; + } } else {