url-lib: don't add existing handlers multiple times

Every time url-lib gets imported we end up making the list of handlers
longer with redundant entries. That's silly - we shouldn't add items
that already exist.

Note that this means you'll have to manipulate the handler list yourself
if you want to change the position/priority of existing handlers.
master
Will Woods 2012-04-20 16:20:24 -04:00 committed by Harald Hoyer
parent 689c3e1fcd
commit c6a91ec992
1 changed files with 1 additions and 0 deletions

View File

@ -43,6 +43,7 @@ add_url_handler() {
local schemes="$@" scheme=""
set --
for scheme in $schemes; do
[ "$(get_url_handler $scheme)" = "$handler" ] && continue
set -- "$@" "$scheme:$handler"
done
set -- $@ $url_handler_map # add new items to *front* of list