url-lib: don't add existing handlers multiple times
authorWill Woods <wwoods@redhat.com>
Fri, 20 Apr 2012 20:20:24 +0000 (16:20 -0400)
committerHarald Hoyer <harald@redhat.com>
Mon, 23 Apr 2012 09:25:20 +0000 (11:25 +0200)
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.

modules.d/45url-lib/url-lib.sh

index e305a68..7930146 100755 (executable)
@@ -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