]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
Default lookup path for tc qdiscplines is /usr/lib/tc
authorosdl.net!shemminger <osdl.net!shemminger>
Fri, 2 Jul 2004 17:47:53 +0000 (17:47 +0000)
committerosdl.net!shemminger <osdl.net!shemminger>
Fri, 2 Jul 2004 17:47:53 +0000 (17:47 +0000)
Get rid of dead code.
Make BODY static.

(Logical change 1.47)

tc/tc.c

diff --git a/tc/tc.c b/tc/tc.c
index f669e941d93e8316e9a5b852768ec6bf81004b3d..b34875123d1ba896e526b4f893115e129ea04757 100644 (file)
--- a/tc/tc.c
+++ b/tc/tc.c
@@ -36,7 +36,7 @@ int show_raw = 0;
 int resolve_hosts = 0;
 int use_iec = 0;
 
-void *BODY;
+static void *BODY;     /* cached handle dlopen(NULL) */
 static struct qdisc_util * qdisc_list;
 static struct filter_util * filter_list;
 
@@ -84,19 +84,6 @@ static int parse_nofopt(struct filter_util *qu, char *fhandle, int argc, char **
        return 0;
 }
 
-#if 0
-/* Builtin filter types */
-
-static int f_parse_noopt(struct filter_util *qu, char *fhandle, int argc, char **argv, struct nlmsghdr *n)
-{
-       if (argc || fhandle) {
-               fprintf(stderr, "Filter \"%s\" has no options.\n", qu->id);
-               return -1;
-       }
-       return 0;
-}
-#endif
-
 struct qdisc_util *get_qdisc_kind(const char *str)
 {
        void *dlh;
@@ -107,9 +94,10 @@ struct qdisc_util *get_qdisc_kind(const char *str)
                if (strcmp(q->id, str) == 0)
                        return q;
 
-       snprintf(buf, sizeof(buf), "q_%s.so", str);
+       snprintf(buf, sizeof(buf), "/usr/lib/tc/q_%s.so", str);
        dlh = dlopen(buf, RTLD_LAZY);
-       if (dlh == NULL) {
+       if (!dlh) {
+               /* look in current binary, only open once */
                dlh = BODY;
                if (dlh == NULL) {
                        dlh = BODY = dlopen(NULL, RTLD_LAZY);
@@ -151,7 +139,7 @@ struct filter_util *get_filter_kind(const char *str)
                if (strcmp(q->id, str) == 0)
                        return q;
 
-       snprintf(buf, sizeof(buf), "f_%s.so", str);
+       snprintf(buf, sizeof(buf), "/usr/lib/tc/f_%s.so", str);
        dlh = dlopen(buf, RTLD_LAZY);
        if (dlh == NULL) {
                dlh = BODY;
@@ -171,7 +159,6 @@ reg:
        q->next = filter_list;
        filter_list = q;
        return q;
-
 noexist:
        q = malloc(sizeof(*q));
        if (q) {