From cfd164980dfac5363aece651cdcb76b2e4efef16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Mon, 5 Nov 2018 17:15:42 -0600 Subject: [PATCH] gbookmarkfile: remove trailing spaces --- glib/gbookmarkfile.c | 678 +++++++++++++++++++++---------------------- 1 file changed, 339 insertions(+), 339 deletions(-) diff --git a/glib/gbookmarkfile.c b/glib/gbookmarkfile.c index f75f261b1..60d228728 100644 --- a/glib/gbookmarkfile.c +++ b/glib/gbookmarkfile.c @@ -162,24 +162,24 @@ struct _BookmarkAppInfo { gchar *name; gchar *exec; - + guint count; - + time_t stamp; }; struct _BookmarkMetadata { gchar *mime_type; - + GList *groups; - + GList *applications; GHashTable *apps_by_name; - + gchar *icon_href; gchar *icon_mime; - + guint is_private : 1; }; @@ -213,7 +213,7 @@ struct _GBookmarkFile typedef enum { STATE_STARTED = 0, - + STATE_ROOT, STATE_BOOKMARK, STATE_TITLE, @@ -226,7 +226,7 @@ typedef enum STATE_GROUP, STATE_MIME, STATE_ICON, - + STATE_FINISHED } ParserState; @@ -244,7 +244,7 @@ static BookmarkItem *g_bookmark_file_lookup_item (GBookmarkFile *bookmark, static void g_bookmark_file_add_item (GBookmarkFile *bookmark, BookmarkItem *item, GError **error); - + static time_t timestamp_from_iso8601 (const gchar *iso_date); static gchar * timestamp_to_iso8601 (time_t timestamp); @@ -257,16 +257,16 @@ static BookmarkAppInfo * bookmark_app_info_new (const gchar *name) { BookmarkAppInfo *retval; - + g_warn_if_fail (name != NULL); - + retval = g_slice_new (BookmarkAppInfo); - + retval->name = g_strdup (name); retval->exec = NULL; retval->count = 0; retval->stamp = 0; - + return retval; } @@ -275,10 +275,10 @@ bookmark_app_info_free (BookmarkAppInfo *app_info) { if (!app_info) return; - + g_free (app_info->name); g_free (app_info->exec); - + g_slice_free (BookmarkAppInfo, app_info); } @@ -324,24 +324,24 @@ static BookmarkMetadata * bookmark_metadata_new (void) { BookmarkMetadata *retval; - + retval = g_slice_new (BookmarkMetadata); retval->mime_type = NULL; - + retval->groups = NULL; - + retval->applications = NULL; retval->apps_by_name = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, NULL); - + retval->is_private = FALSE; - + retval->icon_href = NULL; retval->icon_mime = NULL; - + return retval; } @@ -350,9 +350,9 @@ bookmark_metadata_free (BookmarkMetadata *metadata) { if (!metadata) return; - + g_free (metadata->mime_type); - + g_list_free_full (metadata->groups, g_free); g_list_free_full (metadata->applications, (GDestroyNotify) bookmark_app_info_free); @@ -360,7 +360,7 @@ bookmark_metadata_free (BookmarkMetadata *metadata) g_free (metadata->icon_href); g_free (metadata->icon_mime); - + g_slice_free (BookmarkMetadata, metadata); } @@ -369,12 +369,12 @@ bookmark_metadata_dump (BookmarkMetadata *metadata) { GString *retval; gchar *buffer; - + if (!metadata->applications) return NULL; - + retval = g_string_sized_new (1024); - + /* metadata container */ g_string_append (retval, " " @@ -387,7 +387,7 @@ bookmark_metadata_dump (BookmarkMetadata *metadata) buffer = g_strconcat (" " "<" MIME_NAMESPACE_NAME ":" MIME_TYPE_ELEMENT " " MIME_TYPE_ATTRIBUTE "=\"", metadata->mime_type, "\"/>\n", - NULL); + NULL); g_string_append (retval, buffer); g_free (buffer); } @@ -395,13 +395,13 @@ bookmark_metadata_dump (BookmarkMetadata *metadata) if (metadata->groups) { GList *l; - + /* open groups container */ g_string_append (retval, " " "<" BOOKMARK_NAMESPACE_NAME ":" BOOKMARK_GROUPS_ELEMENT ">\n"); - + for (l = g_list_last (metadata->groups); l != NULL; l = l->prev) { gchar *group_name; @@ -418,31 +418,31 @@ bookmark_metadata_dump (BookmarkMetadata *metadata) g_free (buffer); g_free (group_name); } - + /* close groups container */ g_string_append (retval, " " "\n"); } - + if (metadata->applications) { GList *l; - + /* open applications container */ g_string_append (retval, " " "<" BOOKMARK_NAMESPACE_NAME ":" BOOKMARK_APPLICATIONS_ELEMENT ">\n"); - + for (l = g_list_last (metadata->applications); l != NULL; l = l->prev) { BookmarkAppInfo *app_info = (BookmarkAppInfo *) l->data; gchar *app_data; g_warn_if_fail (app_info != NULL); - + app_data = bookmark_app_info_dump (app_info); if (app_data) @@ -452,14 +452,14 @@ bookmark_metadata_dump (BookmarkMetadata *metadata) g_free (app_data); } } - + /* close applications container */ g_string_append (retval, " " "\n"); } - + /* icon */ if (metadata->icon_href) { @@ -475,19 +475,19 @@ bookmark_metadata_dump (BookmarkMetadata *metadata) g_free (buffer); } - + /* private hint */ if (metadata->is_private) g_string_append (retval, " " "<" BOOKMARK_NAMESPACE_NAME ":" BOOKMARK_PRIVATE_ELEMENT "/>\n"); - + /* close metadata container */ g_string_append (retval, " " "\n"); - + return g_string_free (retval, FALSE); } @@ -500,21 +500,21 @@ static BookmarkItem * bookmark_item_new (const gchar *uri) { BookmarkItem *item; - + g_warn_if_fail (uri != NULL); - + item = g_slice_new (BookmarkItem); item->uri = g_strdup (uri); - + item->title = NULL; item->description = NULL; - + item->added = (time_t) -1; item->modified = (time_t) -1; item->visited = (time_t) -1; - + item->metadata = NULL; - + return item; } @@ -527,10 +527,10 @@ bookmark_item_free (BookmarkItem *item) g_free (item->uri); g_free (item->title); g_free (item->description); - + if (item->metadata) bookmark_metadata_free (item->metadata); - + g_slice_free (BookmarkItem, item); } @@ -541,7 +541,7 @@ bookmark_item_dump (BookmarkItem *item) gchar *added, *visited, *modified; gchar *escaped_uri; gchar *buffer; - + /* at this point, we must have at least a registered application; if we don't * we don't screw up the bookmark file, and just skip this item */ @@ -550,9 +550,9 @@ bookmark_item_dump (BookmarkItem *item) g_warning ("Item for URI '%s' has no registered applications: skipping.", item->uri); return NULL; } - + retval = g_string_sized_new (4096); - + added = timestamp_to_iso8601 (item->added); modified = timestamp_to_iso8601 (item->modified); visited = timestamp_to_iso8601 (item->visited); @@ -575,11 +575,11 @@ bookmark_item_dump (BookmarkItem *item) g_free (modified); g_free (added); g_free (buffer); - + if (item->title) { gchar *escaped_title; - + escaped_title = g_markup_escape_text (item->title, -1); buffer = g_strconcat (" " "<" XBEL_TITLE_ELEMENT ">", @@ -591,11 +591,11 @@ bookmark_item_dump (BookmarkItem *item) g_free (escaped_title); g_free (buffer); } - + if (item->description) { gchar *escaped_desc; - + escaped_desc = g_markup_escape_text (item->description, -1); buffer = g_strconcat (" " "<" XBEL_DESC_ELEMENT ">", @@ -607,11 +607,11 @@ bookmark_item_dump (BookmarkItem *item) g_free (escaped_desc); g_free (buffer); } - + if (item->metadata) { gchar *metadata; - + metadata = bookmark_metadata_dump (item->metadata); if (metadata) { @@ -629,7 +629,7 @@ bookmark_item_dump (BookmarkItem *item) } g_string_append (retval, " \n"); - + return g_string_free (retval, FALSE); } @@ -641,20 +641,20 @@ bookmark_item_lookup_app_info (BookmarkItem *item, if (!item->metadata) return NULL; - + return g_hash_table_lookup (item->metadata->apps_by_name, app_name); } /************************* * GBookmarkFile * *************************/ - + static void g_bookmark_file_init (GBookmarkFile *bookmark) { bookmark->title = NULL; bookmark->description = NULL; - + bookmark->items = NULL; bookmark->items_by_uri = g_hash_table_new_full (g_str_hash, g_str_equal, @@ -670,11 +670,11 @@ g_bookmark_file_clear (GBookmarkFile *bookmark) g_list_free_full (bookmark->items, (GDestroyNotify) bookmark_item_free); bookmark->items = NULL; - + if (bookmark->items_by_uri) { g_hash_table_destroy (bookmark->items_by_uri); - + bookmark->items_by_uri = NULL; } } @@ -682,9 +682,9 @@ g_bookmark_file_clear (GBookmarkFile *bookmark) struct _ParseData { ParserState state; - + GHashTable *namespaces; - + GBookmarkFile *bookmark_file; BookmarkItem *current_item; }; @@ -693,16 +693,16 @@ static ParseData * parse_data_new (void) { ParseData *retval; - + retval = g_new (ParseData, 1); - + retval->state = STATE_STARTED; retval->namespaces = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) g_free, (GDestroyNotify) g_free); retval->bookmark_file = NULL; retval->current_item = NULL; - + return retval; } @@ -710,7 +710,7 @@ static void parse_data_free (ParseData *parse_data) { g_hash_table_destroy (parse_data->namespaces); - + g_free (parse_data); } @@ -728,9 +728,9 @@ parse_bookmark_element (GMarkupParseContext *context, gint i; BookmarkItem *item; GError *add_error; - + g_warn_if_fail ((parse_data != NULL) && (parse_data->state == STATE_BOOKMARK)); - + i = 0; uri = added = modified = visited = NULL; for (attr = attribute_names[i]; attr != NULL; attr = attribute_names[++i]) @@ -757,7 +757,7 @@ parse_bookmark_element (GMarkupParseContext *context, return; } } - + if (!uri) { g_set_error (error, G_MARKUP_ERROR, @@ -767,17 +767,17 @@ parse_bookmark_element (GMarkupParseContext *context, XBEL_BOOKMARK_ELEMENT); return; } - + g_warn_if_fail (parse_data->current_item == NULL); - + item = bookmark_item_new (uri); - + if (added) item->added = timestamp_from_iso8601 (added); - + if (modified) item->modified = timestamp_from_iso8601 (modified); - + if (visited) item->visited = timestamp_from_iso8601 (visited); @@ -788,12 +788,12 @@ parse_bookmark_element (GMarkupParseContext *context, if (add_error) { bookmark_item_free (item); - + g_propagate_error (error, add_error); - + return; - } - + } + parse_data->current_item = item; } @@ -809,7 +809,7 @@ parse_application_element (GMarkupParseContext *context, gint i; BookmarkItem *item; BookmarkAppInfo *ai; - + g_warn_if_fail ((parse_data != NULL) && (parse_data->state == STATE_APPLICATION)); i = 0; @@ -838,7 +838,7 @@ parse_application_element (GMarkupParseContext *context, BOOKMARK_APPLICATION_ELEMENT); return; } - + if (!exec) { g_set_error (error, G_MARKUP_ERROR, @@ -849,24 +849,24 @@ parse_application_element (GMarkupParseContext *context, return; } - g_warn_if_fail (parse_data->current_item != NULL); + g_warn_if_fail (parse_data->current_item != NULL); item = parse_data->current_item; - + ai = bookmark_item_lookup_app_info (item, name); if (!ai) { ai = bookmark_app_info_new (name); - + if (!item->metadata) item->metadata = bookmark_metadata_new (); - + item->metadata->applications = g_list_prepend (item->metadata->applications, ai); g_hash_table_replace (item->metadata->apps_by_name, ai->name, ai); } g_free (ai->exec); ai->exec = g_strdup (exec); - + if (count) ai->count = atoi (count); else @@ -897,9 +897,9 @@ parse_mime_type_element (GMarkupParseContext *context, const gchar *attr; gint i; BookmarkItem *item; - + g_warn_if_fail ((parse_data != NULL) && (parse_data->state == STATE_MIME)); - + i = 0; type = NULL; for (attr = attribute_names[i]; attr != NULL; attr = attribute_names[++i]) @@ -911,9 +911,9 @@ parse_mime_type_element (GMarkupParseContext *context, if (!type) type = "application/octet-stream"; - g_warn_if_fail (parse_data->current_item != NULL); + g_warn_if_fail (parse_data->current_item != NULL); item = parse_data->current_item; - + if (!item->metadata) item->metadata = bookmark_metadata_new (); @@ -933,9 +933,9 @@ parse_icon_element (GMarkupParseContext *context, const gchar *attr; gint i; BookmarkItem *item; - + g_warn_if_fail ((parse_data != NULL) && (parse_data->state == STATE_ICON)); - + i = 0; href = NULL; type = NULL; @@ -947,7 +947,7 @@ parse_icon_element (GMarkupParseContext *context, type = attribute_values[i]; } - /* the "href" attribute is mandatory */ + /* the "href" attribute is mandatory */ if (!href) { g_set_error (error, G_MARKUP_ERROR, @@ -961,9 +961,9 @@ parse_icon_element (GMarkupParseContext *context, if (!type) type = "application/octet-stream"; - g_warn_if_fail (parse_data->current_item != NULL); + g_warn_if_fail (parse_data->current_item != NULL); item = parse_data->current_item; - + if (!item->metadata) item->metadata = bookmark_metadata_new (); @@ -980,7 +980,7 @@ parse_icon_element (GMarkupParseContext *context, * * FIXME: this works on the assumption that the generator of the XBEL file * is either this code or is smart enough to place the namespace declarations - * inside the main root node or inside the metadata node and does not redefine + * inside the main root node or inside the metadata node and does not redefine * a namespace inside an inner node; this does *not* conform to the * XML-NS standard, although is a close approximation. In order to make this * conformant to the XML-NS specification we should use a per-element @@ -993,12 +993,12 @@ map_namespace_to_name (ParseData *parse_data, { const gchar *attr; gint i; - + g_warn_if_fail (parse_data != NULL); - + if (!attribute_names || !attribute_names[0]) return; - + i = 0; for (attr = attribute_names[i]; attr; attr = attribute_names[++i]) { @@ -1006,16 +1006,16 @@ map_namespace_to_name (ParseData *parse_data, { gchar *namespace_name, *namespace_uri; gchar *p; - + p = g_utf8_strchr (attr, -1, ':'); if (p) p = g_utf8_next_char (p); else p = "default"; - + namespace_name = g_strdup (p); namespace_uri = g_strdup (attribute_values[i]); - + g_hash_table_replace (parse_data->namespaces, namespace_name, namespace_uri); @@ -1039,17 +1039,17 @@ is_element_full (ParseData *parse_data, gchar *ns_uri, *ns_name; const gchar *p, *element_name; gboolean retval; - + g_warn_if_fail (parse_data != NULL); g_warn_if_fail (element_full != NULL); - + if (!element) return FALSE; - + /* no namespace requested: dumb element compare */ if (!namespace) return (0 == strcmp (element_full, element)); - + /* search for namespace separator; if none found, assume we are under the * default namespace, and set ns_name to our "default" marker; if no default * namespace has been set, just do a plain comparison between @full_element @@ -1066,21 +1066,21 @@ is_element_full (ParseData *parse_data, ns_name = g_strdup ("default"); element_name = element_full; } - - ns_uri = g_hash_table_lookup (parse_data->namespaces, ns_name); + + ns_uri = g_hash_table_lookup (parse_data->namespaces, ns_name); if (!ns_uri) { /* no default namespace found */ g_free (ns_name); - + return (0 == strcmp (element_full, element)); } retval = (0 == strcmp (ns_uri, namespace) && 0 == strcmp (element_name, element)); - + g_free (ns_name); - + return retval; } @@ -1135,13 +1135,13 @@ start_element_raw_cb (GMarkupParseContext *context, ParseData *parse_data = (ParseData *) user_data; /* we must check for namespace declarations first - * + * * XXX - we could speed up things by checking for namespace declarations * only on the root node, where they usually are; this would probably break * on streams not produced by us or by "smart" generators */ map_namespace_to_name (parse_data, attribute_names, attribute_values); - + switch (parse_data->state) { case STATE_STARTED: @@ -1149,7 +1149,7 @@ start_element_raw_cb (GMarkupParseContext *context, { const gchar *attr; gint i; - + i = 0; for (attr = attribute_names[i]; attr; attr = attribute_names[++i]) { @@ -1172,9 +1172,9 @@ start_element_raw_cb (GMarkupParseContext *context, else if (IS_ELEMENT (parse_data, element_name, XBEL_BOOKMARK_ELEMENT)) { GError *inner_error = NULL; - + parse_data->state = STATE_BOOKMARK; - + parse_bookmark_element (context, parse_data, attribute_names, @@ -1209,7 +1209,7 @@ start_element_raw_cb (GMarkupParseContext *context, { const gchar *attr; gint i; - + i = 0; for (attr = attribute_names[i]; attr; attr = attribute_names[++i]) { @@ -1217,7 +1217,7 @@ start_element_raw_cb (GMarkupParseContext *context, (0 == strcmp (attribute_values[i], BOOKMARK_METADATA_OWNER))) { parse_data->state = STATE_METADATA; - + if (!parse_data->current_item->metadata) parse_data->current_item->metadata = bookmark_metadata_new (); } @@ -1240,9 +1240,9 @@ start_element_raw_cb (GMarkupParseContext *context, else if (IS_ELEMENT_NS (parse_data, element_name, BOOKMARK_NAMESPACE_URI, BOOKMARK_ICON_ELEMENT)) { GError *inner_error = NULL; - + parse_data->state = STATE_ICON; - + parse_icon_element (context, parse_data, attribute_names, @@ -1254,9 +1254,9 @@ start_element_raw_cb (GMarkupParseContext *context, else if (IS_ELEMENT_NS (parse_data, element_name, MIME_NAMESPACE_URI, MIME_TYPE_ELEMENT)) { GError *inner_error = NULL; - + parse_data->state = STATE_MIME; - + parse_mime_type_element (context, parse_data, attribute_names, @@ -1276,9 +1276,9 @@ start_element_raw_cb (GMarkupParseContext *context, if (IS_ELEMENT_NS (parse_data, element_name, BOOKMARK_NAMESPACE_URI, BOOKMARK_APPLICATION_ELEMENT)) { GError *inner_error = NULL; - + parse_data->state = STATE_APPLICATION; - + parse_application_element (context, parse_data, attribute_names, @@ -1332,13 +1332,13 @@ end_element_raw_cb (GMarkupParseContext *context, GError **error) { ParseData *parse_data = (ParseData *) user_data; - + if (IS_ELEMENT (parse_data, element_name, XBEL_ROOT_ELEMENT)) parse_data->state = STATE_FINISHED; else if (IS_ELEMENT (parse_data, element_name, XBEL_BOOKMARK_ELEMENT)) { parse_data->current_item = NULL; - + parse_data->state = STATE_ROOT; } else if ((IS_ELEMENT (parse_data, element_name, XBEL_INFO_ELEMENT)) || @@ -1377,9 +1377,9 @@ text_raw_cb (GMarkupParseContext *context, { ParseData *parse_data = (ParseData *) user_data; gchar *payload; - + payload = g_strndup (text, length); - + switch (parse_data->state) { case STATE_TITLE: @@ -1409,12 +1409,12 @@ text_raw_cb (GMarkupParseContext *context, case STATE_GROUP: { GList *groups; - + g_warn_if_fail (parse_data->current_item != NULL); - + if (!parse_data->current_item->metadata) parse_data->current_item->metadata = bookmark_metadata_new (); - + groups = parse_data->current_item->metadata->groups; parse_data->current_item->metadata->groups = g_list_prepend (groups, g_strdup (payload)); } @@ -1433,7 +1433,7 @@ text_raw_cb (GMarkupParseContext *context, g_warn_if_reached (); break; } - + g_free (payload); } @@ -1456,7 +1456,7 @@ g_bookmark_file_parse (GBookmarkFile *bookmark, ParseData *parse_data; GError *parse_error, *end_error; gboolean retval; - + g_warn_if_fail (bookmark != NULL); if (!buffer) @@ -1464,18 +1464,18 @@ g_bookmark_file_parse (GBookmarkFile *bookmark, parse_error = NULL; end_error = NULL; - + if (length == (gsize) -1) length = strlen (buffer); parse_data = parse_data_new (); parse_data->bookmark_file = bookmark; - + context = g_markup_parse_context_new (&markup_parser, 0, parse_data, (GDestroyNotify) parse_data_free); - + retval = g_markup_parse_context_parse (context, buffer, length, @@ -1488,7 +1488,7 @@ g_bookmark_file_parse (GBookmarkFile *bookmark, if (!retval) g_propagate_error (error, end_error); } - + g_markup_parse_context_free (context); return retval; @@ -1502,7 +1502,7 @@ g_bookmark_file_dump (GBookmarkFile *bookmark, GString *retval; gchar *buffer; GList *l; - + retval = g_string_sized_new (4096); g_string_append (retval, @@ -1516,28 +1516,28 @@ g_bookmark_file_dump (GBookmarkFile *bookmark, "<" XBEL_ROOT_ELEMENT " " XBEL_VERSION_ATTRIBUTE "=\"" XBEL_VERSION "\"\n" " xmlns:" BOOKMARK_NAMESPACE_NAME "=\"" BOOKMARK_NAMESPACE_URI "\"\n" " xmlns:" MIME_NAMESPACE_NAME "=\"" MIME_NAMESPACE_URI "\"\n>"); - + if (bookmark->title) { gchar *escaped_title; - + escaped_title = g_markup_escape_text (bookmark->title, -1); buffer = g_strconcat (" " "<" XBEL_TITLE_ELEMENT ">", escaped_title, "\n", NULL); - + g_string_append (retval, buffer); g_free (buffer); g_free (escaped_title); } - + if (bookmark->description) { gchar *escaped_desc; - + escaped_desc = g_markup_escape_text (bookmark->description, -1); buffer = g_strconcat (" " @@ -1549,7 +1549,7 @@ g_bookmark_file_dump (GBookmarkFile *bookmark, g_free (buffer); g_free (escaped_desc); } - + if (!bookmark->items) goto out; else @@ -1562,29 +1562,29 @@ g_bookmark_file_dump (GBookmarkFile *bookmark, { BookmarkItem *item = (BookmarkItem *) l->data; gchar *item_dump; - + item_dump = bookmark_item_dump (item); if (!item_dump) continue; - + retval = g_string_append (retval, item_dump); - + g_free (item_dump); } out: g_string_append (retval, ""); - + if (length) *length = retval->len; - + return g_string_free (retval, FALSE); } /************** * Misc * **************/ - + /* converts a Unix timestamp in a ISO 8601 compliant string; you * should free the returned string. */ @@ -1638,11 +1638,11 @@ GBookmarkFile * g_bookmark_file_new (void) { GBookmarkFile *bookmark; - + bookmark = g_new (GBookmarkFile, 1); - + g_bookmark_file_init (bookmark); - + return bookmark; } @@ -1659,10 +1659,10 @@ g_bookmark_file_free (GBookmarkFile *bookmark) { if (!bookmark) return; - + g_bookmark_file_clear (bookmark); - - g_free (bookmark); + + g_free (bookmark); } /** @@ -1689,7 +1689,7 @@ g_bookmark_file_load_from_data (GBookmarkFile *bookmark, { GError *parse_error; gboolean retval; - + g_return_val_if_fail (bookmark != NULL, FALSE); if (length == (gsize) -1) @@ -1733,13 +1733,13 @@ g_bookmark_file_load_from_file (GBookmarkFile *bookmark, gboolean ret = FALSE; gchar *buffer = NULL; gsize len; - + g_return_val_if_fail (bookmark != NULL, FALSE); g_return_val_if_fail (filename != NULL, FALSE); if (!g_file_get_contents (filename, &buffer, &len, error)) goto out; - + if (!g_bookmark_file_load_from_data (bookmark, buffer, len, error)) goto out; @@ -1811,10 +1811,10 @@ find_file_in_data_dirs (const gchar *file, g_set_error_literal (error, G_BOOKMARK_FILE_ERROR, G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND, _("No valid bookmark file found in data dirs")); - + return NULL; } - + return path; } @@ -1828,8 +1828,8 @@ find_file_in_data_dirs (const gchar *file, * @error: return location for a #GError, or %NULL * * This function looks for a desktop bookmark file named @file in the - * paths returned from g_get_user_data_dir() and g_get_system_data_dirs(), - * loads the file into @bookmark and returns the file's full path in + * paths returned from g_get_user_data_dir() and g_get_system_data_dirs(), + * loads the file into @bookmark and returns the file's full path in * @full_path. If the file could not be loaded then @error is * set to either a #GFileError or #GBookmarkFileError. * @@ -1850,10 +1850,10 @@ g_bookmark_file_load_from_data_dirs (GBookmarkFile *bookmark, gsize i, j; gchar *output_path; gboolean found_file; - + g_return_val_if_fail (bookmark != NULL, FALSE); g_return_val_if_fail (!g_path_is_absolute (file), FALSE); - + user_data_dir = g_get_user_data_dir (); system_data_dirs = g_get_system_data_dirs (); all_data_dirs = g_new0 (gchar *, g_strv_length ((gchar **)system_data_dirs) + 2); @@ -1873,7 +1873,7 @@ g_bookmark_file_load_from_data_dirs (GBookmarkFile *bookmark, g_free (output_path); output_path = find_file_in_data_dirs (file, &data_dirs, &file_error); - + if (file_error) { g_propagate_error (error, file_error); @@ -1892,7 +1892,7 @@ g_bookmark_file_load_from_data_dirs (GBookmarkFile *bookmark, if (found_file && full_path) *full_path = output_path; - else + else g_free (output_path); g_strfreev (all_data_dirs); @@ -1921,17 +1921,17 @@ g_bookmark_file_to_data (GBookmarkFile *bookmark, { GError *write_error = NULL; gchar *retval; - + g_return_val_if_fail (bookmark != NULL, NULL); - + retval = g_bookmark_file_dump (bookmark, length, &write_error); if (write_error) { g_propagate_error (error, write_error); - + return NULL; } - + return retval; } @@ -1960,13 +1960,13 @@ g_bookmark_file_to_file (GBookmarkFile *bookmark, g_return_val_if_fail (bookmark != NULL, FALSE); g_return_val_if_fail (filename != NULL, FALSE); - + data_error = NULL; data = g_bookmark_file_to_data (bookmark, &len, &data_error); if (data_error) { g_propagate_error (error, data_error); - + return FALSE; } @@ -1975,14 +1975,14 @@ g_bookmark_file_to_file (GBookmarkFile *bookmark, if (write_error) { g_propagate_error (error, write_error); - + retval = FALSE; } else retval = TRUE; g_free (data); - + return retval; } @@ -1991,7 +1991,7 @@ g_bookmark_file_lookup_item (GBookmarkFile *bookmark, const gchar *uri) { g_warn_if_fail (bookmark != NULL && uri != NULL); - + return g_hash_table_lookup (bookmark->items_by_uri, uri); } @@ -2015,16 +2015,16 @@ g_bookmark_file_add_item (GBookmarkFile *bookmark, item->uri); return; } - + bookmark->items = g_list_prepend (bookmark->items, item); - + g_hash_table_replace (bookmark->items_by_uri, item->uri, item); if (item->added == (time_t) -1) item->added = time (NULL); - + if (item->modified == (time_t) -1) item->modified = time (NULL); } @@ -2038,7 +2038,7 @@ g_bookmark_file_add_item (GBookmarkFile *bookmark, * Removes the bookmark for @uri from the bookmark file @bookmark. * * Returns: %TRUE if the bookmark was removed successfully. - * + * * Since: 2.12 */ gboolean @@ -2047,12 +2047,12 @@ g_bookmark_file_remove_item (GBookmarkFile *bookmark, GError **error) { BookmarkItem *item; - + g_return_val_if_fail (bookmark != NULL, FALSE); g_return_val_if_fail (uri != NULL, FALSE); - + item = g_bookmark_file_lookup_item (bookmark, uri); - + if (!item) { g_set_error (error, G_BOOKMARK_FILE_ERROR, @@ -2063,8 +2063,8 @@ g_bookmark_file_remove_item (GBookmarkFile *bookmark, } bookmark->items = g_list_remove (bookmark->items, item); - g_hash_table_remove (bookmark->items_by_uri, item->uri); - + g_hash_table_remove (bookmark->items_by_uri, item->uri); + bookmark_item_free (item); return TRUE; @@ -2087,7 +2087,7 @@ g_bookmark_file_has_item (GBookmarkFile *bookmark, { g_return_val_if_fail (bookmark != NULL, FALSE); g_return_val_if_fail (uri != NULL, FALSE); - + return (NULL != g_hash_table_lookup (bookmark->items_by_uri, uri)); } @@ -2112,26 +2112,26 @@ g_bookmark_file_get_uris (GBookmarkFile *bookmark, GList *l; gchar **uris; gsize i, n_items; - + g_return_val_if_fail (bookmark != NULL, NULL); - - n_items = g_list_length (bookmark->items); + + n_items = g_list_length (bookmark->items); uris = g_new0 (gchar *, n_items + 1); /* the items are stored in reverse order, so we walk the list backward */ for (l = g_list_last (bookmark->items), i = 0; l != NULL; l = l->prev) { BookmarkItem *item = (BookmarkItem *) l->data; - + g_warn_if_fail (item != NULL); - + uris[i++] = g_strdup (item->uri); } uris[i] = NULL; - + if (length) *length = i; - + return uris; } @@ -2156,7 +2156,7 @@ g_bookmark_file_set_title (GBookmarkFile *bookmark, const gchar *title) { g_return_if_fail (bookmark != NULL); - + if (!uri) { g_free (bookmark->title); @@ -2165,17 +2165,17 @@ g_bookmark_file_set_title (GBookmarkFile *bookmark, else { BookmarkItem *item; - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { item = bookmark_item_new (uri); g_bookmark_file_add_item (bookmark, item, NULL); } - + g_free (item->title); item->title = g_strdup (title); - + item->modified = time (NULL); } } @@ -2204,12 +2204,12 @@ g_bookmark_file_get_title (GBookmarkFile *bookmark, GError **error) { BookmarkItem *item; - + g_return_val_if_fail (bookmark != NULL, NULL); - + if (!uri) return g_strdup (bookmark->title); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -2219,7 +2219,7 @@ g_bookmark_file_get_title (GBookmarkFile *bookmark, uri); return NULL; } - + return g_strdup (item->title); } @@ -2246,23 +2246,23 @@ g_bookmark_file_set_description (GBookmarkFile *bookmark, if (!uri) { - g_free (bookmark->description); + g_free (bookmark->description); bookmark->description = g_strdup (description); } else { BookmarkItem *item; - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { item = bookmark_item_new (uri); g_bookmark_file_add_item (bookmark, item, NULL); } - + g_free (item->description); item->description = g_strdup (description); - + item->modified = time (NULL); } } @@ -2289,12 +2289,12 @@ g_bookmark_file_get_description (GBookmarkFile *bookmark, GError **error) { BookmarkItem *item; - + g_return_val_if_fail (bookmark != NULL, NULL); if (!uri) return g_strdup (bookmark->description); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -2304,7 +2304,7 @@ g_bookmark_file_get_description (GBookmarkFile *bookmark, uri); return NULL; } - + return g_strdup (item->description); } @@ -2326,23 +2326,23 @@ g_bookmark_file_set_mime_type (GBookmarkFile *bookmark, const gchar *mime_type) { BookmarkItem *item; - + g_return_if_fail (bookmark != NULL); g_return_if_fail (uri != NULL); g_return_if_fail (mime_type != NULL); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { item = bookmark_item_new (uri); g_bookmark_file_add_item (bookmark, item, NULL); } - + if (!item->metadata) item->metadata = bookmark_metadata_new (); - + g_free (item->metadata->mime_type); - + item->metadata->mime_type = g_strdup (mime_type); item->modified = time (NULL); } @@ -2371,10 +2371,10 @@ g_bookmark_file_get_mime_type (GBookmarkFile *bookmark, GError **error) { BookmarkItem *item; - + g_return_val_if_fail (bookmark != NULL, NULL); g_return_val_if_fail (uri != NULL, NULL); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -2384,7 +2384,7 @@ g_bookmark_file_get_mime_type (GBookmarkFile *bookmark, uri); return NULL; } - + if (!item->metadata) { g_set_error (error, G_BOOKMARK_FILE_ERROR, @@ -2393,7 +2393,7 @@ g_bookmark_file_get_mime_type (GBookmarkFile *bookmark, uri); return NULL; } - + return g_strdup (item->metadata->mime_type); } @@ -2415,20 +2415,20 @@ g_bookmark_file_set_is_private (GBookmarkFile *bookmark, gboolean is_private) { BookmarkItem *item; - + g_return_if_fail (bookmark != NULL); g_return_if_fail (uri != NULL); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { item = bookmark_item_new (uri); g_bookmark_file_add_item (bookmark, item, NULL); } - + if (!item->metadata) item->metadata = bookmark_metadata_new (); - + item->metadata->is_private = (is_private == TRUE); item->modified = time (NULL); } @@ -2456,10 +2456,10 @@ g_bookmark_file_get_is_private (GBookmarkFile *bookmark, GError **error) { BookmarkItem *item; - + g_return_val_if_fail (bookmark != NULL, FALSE); g_return_val_if_fail (uri != NULL, FALSE); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -2469,7 +2469,7 @@ g_bookmark_file_get_is_private (GBookmarkFile *bookmark, uri); return FALSE; } - + if (!item->metadata) { g_set_error (error, G_BOOKMARK_FILE_ERROR, @@ -2478,7 +2478,7 @@ g_bookmark_file_get_is_private (GBookmarkFile *bookmark, uri); return FALSE; } - + return item->metadata->is_private; } @@ -2500,10 +2500,10 @@ g_bookmark_file_set_added (GBookmarkFile *bookmark, time_t added) { BookmarkItem *item; - + g_return_if_fail (bookmark != NULL); g_return_if_fail (uri != NULL); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -2513,7 +2513,7 @@ g_bookmark_file_set_added (GBookmarkFile *bookmark, if (added == (time_t) -1) time (&added); - + item->added = added; item->modified = added; } @@ -2539,10 +2539,10 @@ g_bookmark_file_get_added (GBookmarkFile *bookmark, GError **error) { BookmarkItem *item; - + g_return_val_if_fail (bookmark != NULL, (time_t) -1); g_return_val_if_fail (uri != NULL, (time_t) -1); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -2552,7 +2552,7 @@ g_bookmark_file_get_added (GBookmarkFile *bookmark, uri); return (time_t) -1; } - + return item->added; } @@ -2579,20 +2579,20 @@ g_bookmark_file_set_modified (GBookmarkFile *bookmark, time_t modified) { BookmarkItem *item; - + g_return_if_fail (bookmark != NULL); g_return_if_fail (uri != NULL); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { item = bookmark_item_new (uri); g_bookmark_file_add_item (bookmark, item, NULL); } - + if (modified == (time_t) -1) time (&modified); - + item->modified = modified; } @@ -2617,10 +2617,10 @@ g_bookmark_file_get_modified (GBookmarkFile *bookmark, GError **error) { BookmarkItem *item; - + g_return_val_if_fail (bookmark != NULL, (time_t) -1); g_return_val_if_fail (uri != NULL, (time_t) -1); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -2630,7 +2630,7 @@ g_bookmark_file_get_modified (GBookmarkFile *bookmark, uri); return (time_t) -1; } - + return item->modified; } @@ -2644,7 +2644,7 @@ g_bookmark_file_get_modified (GBookmarkFile *bookmark, * * If no bookmark for @uri is found then it is created. * - * The "visited" time should only be set if the bookmark was launched, + * The "visited" time should only be set if the bookmark was launched, * either using the command line retrieved by g_bookmark_file_get_app_info() * or by the default application for the bookmark's MIME type, retrieved * using g_bookmark_file_get_mime_type(). Changing the "visited" time @@ -2658,10 +2658,10 @@ g_bookmark_file_set_visited (GBookmarkFile *bookmark, time_t visited) { BookmarkItem *item; - + g_return_if_fail (bookmark != NULL); g_return_if_fail (uri != NULL); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -2671,7 +2671,7 @@ g_bookmark_file_set_visited (GBookmarkFile *bookmark, if (visited == (time_t) -1) time (&visited); - + item->visited = visited; } @@ -2696,10 +2696,10 @@ g_bookmark_file_get_visited (GBookmarkFile *bookmark, GError **error) { BookmarkItem *item; - + g_return_val_if_fail (bookmark != NULL, (time_t) -1); g_return_val_if_fail (uri != NULL, (time_t) -1); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -2709,7 +2709,7 @@ g_bookmark_file_get_visited (GBookmarkFile *bookmark, uri); return (time_t) -1; } - + return item->visited; } @@ -2738,10 +2738,10 @@ g_bookmark_file_has_group (GBookmarkFile *bookmark, { BookmarkItem *item; GList *l; - + g_return_val_if_fail (bookmark != NULL, FALSE); g_return_val_if_fail (uri != NULL, FALSE); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -2751,16 +2751,16 @@ g_bookmark_file_has_group (GBookmarkFile *bookmark, uri); return FALSE; } - + if (!item->metadata) return FALSE; - + for (l = item->metadata->groups; l != NULL; l = l->next) { if (strcmp (l->data, group) == 0) return TRUE; } - + return FALSE; } @@ -2784,26 +2784,26 @@ g_bookmark_file_add_group (GBookmarkFile *bookmark, const gchar *group) { BookmarkItem *item; - + g_return_if_fail (bookmark != NULL); g_return_if_fail (uri != NULL); g_return_if_fail (group != NULL && group[0] != '\0'); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { item = bookmark_item_new (uri); g_bookmark_file_add_item (bookmark, item, NULL); } - + if (!item->metadata) item->metadata = bookmark_metadata_new (); - + if (!g_bookmark_file_has_group (bookmark, uri, group, NULL)) { item->metadata->groups = g_list_prepend (item->metadata->groups, g_strdup (group)); - + item->modified = time (NULL); } } @@ -2835,10 +2835,10 @@ g_bookmark_file_remove_group (GBookmarkFile *bookmark, { BookmarkItem *item; GList *l; - + g_return_val_if_fail (bookmark != NULL, FALSE); g_return_val_if_fail (uri != NULL, FALSE); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -2848,7 +2848,7 @@ g_bookmark_file_remove_group (GBookmarkFile *bookmark, uri); return FALSE; } - + if (!item->metadata) { g_set_error (error, G_BOOKMARK_FILE_ERROR, @@ -2857,7 +2857,7 @@ g_bookmark_file_remove_group (GBookmarkFile *bookmark, uri); return FALSE; } - + for (l = item->metadata->groups; l != NULL; l = l->next) { if (strcmp (l->data, group) == 0) @@ -2865,13 +2865,13 @@ g_bookmark_file_remove_group (GBookmarkFile *bookmark, item->metadata->groups = g_list_remove_link (item->metadata->groups, l); g_free (l->data); g_list_free_1 (l); - - item->modified = time (NULL); - + + item->modified = time (NULL); + return TRUE; } } - + return FALSE; } @@ -2898,24 +2898,24 @@ g_bookmark_file_set_groups (GBookmarkFile *bookmark, { BookmarkItem *item; gsize i; - + g_return_if_fail (bookmark != NULL); g_return_if_fail (uri != NULL); g_return_if_fail (groups != NULL); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { item = bookmark_item_new (uri); g_bookmark_file_add_item (bookmark, item, NULL); } - + if (!item->metadata) item->metadata = bookmark_metadata_new (); g_list_free_full (item->metadata->groups, g_free); item->metadata->groups = NULL; - + if (groups) { for (i = 0; i < length && groups[i] != NULL; i++) @@ -2956,10 +2956,10 @@ g_bookmark_file_get_groups (GBookmarkFile *bookmark, GList *l; gsize len, i; gchar **retval; - + g_return_val_if_fail (bookmark != NULL, NULL); g_return_val_if_fail (uri != NULL, NULL); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -2969,15 +2969,15 @@ g_bookmark_file_get_groups (GBookmarkFile *bookmark, uri); return NULL; } - + if (!item->metadata) { if (length) *length = 0; - + return NULL; } - + len = g_list_length (item->metadata->groups); retval = g_new0 (gchar *, len + 1); for (l = g_list_last (item->metadata->groups), i = 0; @@ -2985,16 +2985,16 @@ g_bookmark_file_get_groups (GBookmarkFile *bookmark, l = l->prev) { gchar *group_name = (gchar *) l->data; - + g_warn_if_fail (group_name != NULL); - + retval[i++] = g_strdup (group_name); } retval[i] = NULL; - + if (length) *length = len; - + return retval; } @@ -3039,22 +3039,22 @@ g_bookmark_file_add_application (GBookmarkFile *bookmark, { BookmarkItem *item; gchar *app_name, *app_exec; - + g_return_if_fail (bookmark != NULL); g_return_if_fail (uri != NULL); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { item = bookmark_item_new (uri); g_bookmark_file_add_item (bookmark, item, NULL); } - + if (name && name[0] != '\0') app_name = g_strdup (name); else app_name = g_strdup (g_get_application_name ()); - + if (exec && exec[0] != '\0') app_exec = g_strdup (exec); else @@ -3066,7 +3066,7 @@ g_bookmark_file_add_application (GBookmarkFile *bookmark, -1, (time_t) -1, NULL); - + g_free (app_exec); g_free (app_name); } @@ -3099,11 +3099,11 @@ g_bookmark_file_remove_application (GBookmarkFile *bookmark, { GError *set_error; gboolean retval; - + g_return_val_if_fail (bookmark != NULL, FALSE); g_return_val_if_fail (uri != NULL, FALSE); g_return_val_if_fail (name != NULL, FALSE); - + set_error = NULL; retval = g_bookmark_file_set_app_info (bookmark, uri, name, @@ -3114,10 +3114,10 @@ g_bookmark_file_remove_application (GBookmarkFile *bookmark, if (set_error) { g_propagate_error (error, set_error); - + return FALSE; } - + return retval; } @@ -3145,11 +3145,11 @@ g_bookmark_file_has_application (GBookmarkFile *bookmark, GError **error) { BookmarkItem *item; - + g_return_val_if_fail (bookmark != NULL, FALSE); g_return_val_if_fail (uri != NULL, FALSE); g_return_val_if_fail (name != NULL, FALSE); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -3159,7 +3159,7 @@ g_bookmark_file_has_application (GBookmarkFile *bookmark, uri); return FALSE; } - + return (NULL != bookmark_item_lookup_app_info (item, name)); } @@ -3218,12 +3218,12 @@ g_bookmark_file_set_app_info (GBookmarkFile *bookmark, { BookmarkItem *item; BookmarkAppInfo *ai; - + g_return_val_if_fail (bookmark != NULL, FALSE); g_return_val_if_fail (uri != NULL, FALSE); g_return_val_if_fail (name != NULL, FALSE); g_return_val_if_fail (exec != NULL, FALSE); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -3241,7 +3241,7 @@ g_bookmark_file_set_app_info (GBookmarkFile *bookmark, g_bookmark_file_add_item (bookmark, item, NULL); } } - + if (!item->metadata) item->metadata = bookmark_metadata_new (); @@ -3260,7 +3260,7 @@ g_bookmark_file_set_app_info (GBookmarkFile *bookmark, else { ai = bookmark_app_info_new (name); - + item->metadata->applications = g_list_prepend (item->metadata->applications, ai); g_hash_table_replace (item->metadata->apps_by_name, ai->name, ai); } @@ -3273,27 +3273,27 @@ g_bookmark_file_set_app_info (GBookmarkFile *bookmark, bookmark_app_info_free (ai); item->modified = time (NULL); - + return TRUE; } else if (count > 0) ai->count = count; else ai->count += 1; - + if (stamp != (time_t) -1) ai->stamp = stamp; else ai->stamp = time (NULL); - + if (exec && exec[0] != '\0') { g_free (ai->exec); ai->exec = g_shell_quote (exec); } - + item->modified = time (NULL); - + return TRUE; } @@ -3304,7 +3304,7 @@ expand_exec_line (const gchar *exec_fmt, { GString *exec; gchar ch; - + exec = g_string_sized_new (512); while ((ch = *exec_fmt++) != '\0') { @@ -3313,7 +3313,7 @@ expand_exec_line (const gchar *exec_fmt, exec = g_string_append_c (exec, ch); continue; } - + ch = *exec_fmt++; switch (ch) { @@ -3345,7 +3345,7 @@ expand_exec_line (const gchar *exec_fmt, break; } } - + out: return g_string_free (exec, FALSE); } @@ -3389,11 +3389,11 @@ g_bookmark_file_get_app_info (GBookmarkFile *bookmark, { BookmarkItem *item; BookmarkAppInfo *ai; - + g_return_val_if_fail (bookmark != NULL, FALSE); g_return_val_if_fail (uri != NULL, FALSE); g_return_val_if_fail (name != NULL, FALSE); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -3403,7 +3403,7 @@ g_bookmark_file_get_app_info (GBookmarkFile *bookmark, uri); return FALSE; } - + ai = bookmark_item_lookup_app_info (item, name); if (!ai) { @@ -3414,12 +3414,12 @@ g_bookmark_file_get_app_info (GBookmarkFile *bookmark, uri); return FALSE; } - + if (exec) { GError *unquote_error = NULL; gchar *command_line; - + command_line = g_shell_unquote (ai->exec, &unquote_error); if (unquote_error) { @@ -3440,14 +3440,14 @@ g_bookmark_file_get_app_info (GBookmarkFile *bookmark, } else g_free (command_line); - } + } if (count) *count = ai->count; - + if (stamp) *stamp = ai->stamp; - + return TRUE; } @@ -3460,7 +3460,7 @@ g_bookmark_file_get_app_info (GBookmarkFile *bookmark, * * Retrieves the names of the applications that have registered the * bookmark for @uri. - * + * * In the event the URI cannot be found, %NULL is returned and * @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. * @@ -3479,10 +3479,10 @@ g_bookmark_file_get_applications (GBookmarkFile *bookmark, GList *l; gchar **apps; gsize i, n_apps; - + g_return_val_if_fail (bookmark != NULL, NULL); g_return_val_if_fail (uri != NULL, NULL); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -3492,45 +3492,45 @@ g_bookmark_file_get_applications (GBookmarkFile *bookmark, uri); return NULL; } - + if (!item->metadata) - { + { if (length) *length = 0; - + return NULL; } - + n_apps = g_list_length (item->metadata->applications); apps = g_new0 (gchar *, n_apps + 1); - + for (l = g_list_last (item->metadata->applications), i = 0; l != NULL; l = l->prev) { BookmarkAppInfo *ai; - + ai = (BookmarkAppInfo *) l->data; - + g_warn_if_fail (ai != NULL); g_warn_if_fail (ai->name != NULL); - + apps[i++] = g_strdup (ai->name); } apps[i] = NULL; - + if (length) *length = i; - + return apps; } /** * g_bookmark_file_get_size: * @bookmark: a #GBookmarkFile - * + * * Gets the number of bookmarks inside @bookmark. - * + * * Returns: the number of bookmarks * * Since: 2.12 @@ -3568,7 +3568,7 @@ g_bookmark_file_move_item (GBookmarkFile *bookmark, GError **error) { BookmarkItem *item; - + g_return_val_if_fail (bookmark != NULL, FALSE); g_return_val_if_fail (old_uri != NULL, FALSE); @@ -3594,7 +3594,7 @@ g_bookmark_file_move_item (GBookmarkFile *bookmark, } g_hash_table_steal (bookmark->items_by_uri, item->uri); - + g_free (item->uri); item->uri = g_strdup (new_uri); item->modified = time (NULL); @@ -3634,7 +3634,7 @@ g_bookmark_file_set_icon (GBookmarkFile *bookmark, const gchar *mime_type) { BookmarkItem *item; - + g_return_if_fail (bookmark != NULL); g_return_if_fail (uri != NULL); @@ -3644,20 +3644,20 @@ g_bookmark_file_set_icon (GBookmarkFile *bookmark, item = bookmark_item_new (uri); g_bookmark_file_add_item (bookmark, item, NULL); } - + if (!item->metadata) item->metadata = bookmark_metadata_new (); - + g_free (item->metadata->icon_href); g_free (item->metadata->icon_mime); - + item->metadata->icon_href = g_strdup (href); - + if (mime_type && mime_type[0] != '\0') item->metadata->icon_mime = g_strdup (mime_type); else item->metadata->icon_mime = g_strdup ("application/octet-stream"); - + item->modified = time (NULL); } @@ -3687,10 +3687,10 @@ g_bookmark_file_get_icon (GBookmarkFile *bookmark, GError **error) { BookmarkItem *item; - + g_return_val_if_fail (bookmark != NULL, FALSE); g_return_val_if_fail (uri != NULL, FALSE); - + item = g_bookmark_file_lookup_item (bookmark, uri); if (!item) { @@ -3700,15 +3700,15 @@ g_bookmark_file_get_icon (GBookmarkFile *bookmark, uri); return FALSE; } - + if ((!item->metadata) || (!item->metadata->icon_href)) return FALSE; - + if (href) *href = g_strdup (item->metadata->icon_href); - + if (mime_type) *mime_type = g_strdup (item->metadata->icon_mime); - + return TRUE; }