tracker r2783 - in trunk: . src/tracker-extract
- From: ifrade svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r2783 - in trunk: . src/tracker-extract
- Date: Mon, 12 Jan 2009 12:10:14 +0000 (UTC)
Author: ifrade
Date: Mon Jan 12 12:10:14 2009
New Revision: 2783
URL: http://svn.gnome.org/viewvc/tracker?rev=2783&view=rev
Log:
Avoid crashing in the indexer when the output of totem-plparser is not SUCCESS
Modified:
trunk/ChangeLog
trunk/src/tracker-extract/tracker-extract-playlist.c
Modified: trunk/src/tracker-extract/tracker-extract-playlist.c
==============================================================================
--- trunk/src/tracker-extract/tracker-extract-playlist.c (original)
+++ trunk/src/tracker-extract/tracker-extract-playlist.c Mon Jan 12 12:10:14 2009
@@ -86,9 +86,10 @@
extract_playlist (const gchar *filename,
GHashTable *metadata)
{
- TotemPlParser *pl;
- PlaylistMetadata data = {0, 0};
- gchar *proper_filename;
+ TotemPlParser *pl;
+ TotemPlParserResult result;
+ PlaylistMetadata data = {0, 0};
+ gchar *proper_filename;
pl = totem_pl_parser_new ();
@@ -103,10 +104,20 @@
proper_filename = g_strconcat ("file://", filename, NULL);
}
- if (totem_pl_parser_parse (pl,
- proper_filename,
- FALSE) != TOTEM_PL_PARSER_RESULT_SUCCESS)
- g_error ("Playlist parsing failed.");
+ result = totem_pl_parser_parse (pl, proper_filename, FALSE);
+
+ switch (result) {
+ case TOTEM_PL_PARSER_RESULT_SUCCESS:
+ break;
+ case TOTEM_PL_PARSER_RESULT_IGNORED:
+ case TOTEM_PL_PARSER_RESULT_ERROR:
+ case TOTEM_PL_PARSER_RESULT_UNHANDLED:
+ data.total_time = 0;
+ data.track_counter = 0;
+ break;
+ default:
+ g_warning ("Undefined result in totem-plparser");
+ }
g_hash_table_insert (metadata,
g_strdup (PLAYLIST_PROPERTY_DURATION),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]