chan_lcr: added missing memcpy to bchannel_transmit. HDLC data was not send at all!
authorPeter Schlaile <root@asterisk.schlaile.de>
Thu, 21 Aug 2008 06:45:30 +0000 (08:45 +0200)
committerroot <root@asterisk.schlaile.de>
Thu, 21 Aug 2008 06:45:30 +0000 (08:45 +0200)
bchannel.c

index b154972..25b21f3 100644 (file)
@@ -451,20 +451,25 @@ void bchannel_transmit(struct bchannel *bchannel, unsigned char *data, int len)
                return;
        switch(bchannel->b_mode)
        {
-               case 0:
+       case 0:
                for (i = 0; i < len; i++)
                        *p++ = flip_bits[*data++];
                frm->prim = DL_DATA_REQ;
                break;
-               case 1:
+       case 1:
                for (i = 0; i < len; i++)
                        *p++ = flip_bits[*data++];
                frm->prim = PH_DATA_REQ;
                break;
-               case 2:
+       case 2:
+               memcpy(p, data, len);
                frm->prim = DL_DATA_REQ;
+               p[len] = 0;
+               CDEBUG(bchannel->call, NULL, "HDLC DSP transmit: '%s'\n",
+                      p);
                break;
-               case 3:
+       case 3:
+               memcpy(p, data, len);
                frm->prim = PH_DATA_REQ;
                break;
        }