Question regarding strange-looking code in drivers/isdn/i4l/isdn_ppp.c
Jeff Haran
Jeff.Haran at citrix.com
Mon Feb 2 14:34:17 EST 2015
> -----Original Message-----
> From: kernelnewbies-bounces at kernelnewbies.org [mailto:kernelnewbies-
> bounces at kernelnewbies.org] On Behalf Of Bas Peters
> Sent: Monday, February 02, 2015 11:26 AM
> To: kernelnewbies at kernelnewbies.org; isdn at linux-pingi.de
> Subject: Question regarding strange-looking code in drivers/isdn/i4l/isdn_ppp.c
>
> Hi,
>
> I was checking some code in drivers/isdn/isdn_pp and came across the
> following:
>
> case PPP_VJC_COMP:
> if (is->debug & 0x20)
> printk(KERN_DEBUG "isdn_ppp: VJC_COMP\n");
> {
> struct sk_buff *skb_old = skb;
> int pkt_len;
> skb = dev_alloc_skb(skb_old->len + 128);
>
> if (!skb) {
> printk(KERN_WARNING "%s: Memory squeeze,
> dropping packet.\n", dev->name);
> skb = skb_old;
> goto drop_packet;
> }
> skb_put(skb, skb_old->len + 128);
> skb_copy_from_linear_data(skb_old, skb->data,
> skb_old->len);
> if (net_dev->local->ppp_slot < 0) {
> printk(KERN_ERR "%s: net_dev->local-
> >ppp_slot(%d) out of range\n",
> __func__, net_dev->local->ppp_slot);
> goto drop_packet;
> }
> pkt_len = slhc_uncompress(ippp_table[net_dev->local-
> >ppp_slot]->slcomp,
> skb->data, skb_old->len);
> kfree_skb(skb_old);
> if (pkt_len < 0)
> goto drop_packet;
>
> skb_trim(skb, pkt_len);
> skb->protocol = htons(ETH_P_IP);
> }
> break;
>
> Could you explain to me why there are braces AFTER the printk invocation?
> Was it perhaps intended that the printk was included in the braces?
>
> I'm sorry if I'm missing something completely obvious here, but it seems kind of
> strange to me.
>
> With kind regards,
>
> Bas
I assume it's just to introduce a new name space scope inside the case statement without going to the trouble of writing a new function that would be called from it.
Jeff Haran
More information about the Kernelnewbies
mailing list