On Mon, Feb 02, 2015 at 08:26:26PM +0100, Bas Peters wrote: > 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? Nope, the printk is for a debugging flag. The braces afterward is for the new variable scope, it's odd looking yes, but correct code and formatting. Hope this helps, greg k-h _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies