- memset(*selchannelp, 0, sizeof(struct select_channel));
- *selchannelp->channel = SEL_CHANNEL_FREE;
- selchannelp = &ifport->selchannel;
- while(*selchannelp)
- selchannelp = &((*selchannelp)->next);
- *selchannelp = selchannel;
-
- /* additional channel selection for multipoint ports */
- if (!ifport->mISDNport->ptp)
- {
- selchannel = (struct select_channel *)malloc(sizeof(struct select_channel));
- if (!selchannel)
- {
- PERROR("No memory!");
- return;
- }
- memuse++;
- memset(*selchannelp, 0, sizeof(struct select_channel));
- *selchannelp->channel = SEL_CHANNEL_NO; // call waiting
- selchannelp = &ifport->selchannel;
- while(*selchannelp)
- selchannelp = &((*selchannelp)->next);
- *selchannelp = selchannel;
- }
+ memset(selchannel, 0, sizeof(struct select_channel));
+
+ selchannel->channel = CHANNEL_FREE;
+
+ ifport->in_channel = selchannel;