summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--content/urldb.c18
-rw-r--r--riscos/url_complete.c5
2 files changed, 15 insertions, 8 deletions
diff --git a/content/urldb.c b/content/urldb.c
index 5cc56d26c..05c97c6ac 100644
--- a/content/urldb.c
+++ b/content/urldb.c
@@ -1375,15 +1375,19 @@ bool urldb_iterate_entries_path(const struct path_data *parent,
* attached to them. If this is not the case, it indicates
* that there's a bug in the file loader/URL insertion code.
* Therefore, assert this here. */
- assert(parent->url || parent->cookies);
+ assert(url_callback || cookie_callback);
/** \todo handle fragments? */
- if (url_callback && parent->url && !url_callback(parent->url,
- (const struct url_data *) &parent->urld))
- return false;
- if (cookie_callback && parent->cookies && !cookie_callback(
- (const struct cookie_data *) parent->cookies))
- return false;
+ if (url_callback) {
+ assert(parent->url);
+ if (!url_callback(parent->url,
+ (const struct url_data *) &parent->urld))
+ return false;
+ } else {
+ if (parent->cookies && !cookie_callback(
+ (const struct cookie_data *) parent->cookies))
+ return false;
+ }
}
for (p = parent->children; p; p = p->next) {
diff --git a/riscos/url_complete.c b/riscos/url_complete.c
index 72a1e4071..cd7e932f5 100644
--- a/riscos/url_complete.c
+++ b/riscos/url_complete.c
@@ -177,7 +177,10 @@ bool ro_gui_url_complete_keypress(struct gui_window *g, int key)
/* find matches */
url_complete_memory_exhausted = false;
- urldb_iterate_partial(match_url, url_complete_callback);
+ if (strlen(match_url) == 0)
+ urldb_iterate_entries(url_complete_callback);
+ else
+ urldb_iterate_partial(match_url, url_complete_callback);
if (url_complete_memory_exhausted) {
ro_gui_url_complete_close(NULL, 0);
return false;