]> git.hungrycats.org Git - linux/commitdiff
ISDN: Fix isdnloop when simulating multiple controllers
authorKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>
Tue, 6 Aug 2002 06:44:16 +0000 (01:44 -0500)
committerKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>
Tue, 6 Aug 2002 06:44:16 +0000 (01:44 -0500)
drivers/isdn/isdnloop/isdnloop.c

index 023302365248854b5942b4bfd07baf1a945f2c86..e757d5063398397400a6d97d2cab12164e67b62a 100644 (file)
@@ -757,6 +757,10 @@ isdnloop_vstphone(isdnloop_card * card, char *phone, int caller)
        int i;
        static char nphone[30];
 
+       if (!card) {
+               printk("BUG!!!\n");
+               return "";
+       }
        switch (card->ptype) {
                case ISDN_PTYPE_EURO:
                        if (caller) {
@@ -775,7 +779,7 @@ isdnloop_vstphone(isdnloop_card * card, char *phone, int caller)
                                return (&phone[strlen(phone) - 1]);
                        break;
        }
-       return ("\0");
+       return "";
 }
 
 /*
@@ -882,7 +886,7 @@ isdnloop_parse_cmd(isdnloop_card * card)
                                                isdnloop_vstphone(card, cmd.parm.setup.eazmsn, 1),
                                                cmd.parm.setup.si1,
                                                cmd.parm.setup.si2,
-                                       isdnloop_vstphone(card->rcard[ch],
+                                       isdnloop_vstphone(card->rcard[ch - 1],
                                               cmd.parm.setup.phone, 0));
                                        isdnloop_fake(card->rcard[ch - 1], buf, card->rch[ch - 1] + 1);
                                        /* Fall through */