Re: Question regarding strange-looking code in drivers/isdn/i4l/isdn_ppp.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Mon, Feb 2, 2015 at 11:26 AM, Bas Peters <baspeters93@xxxxxxxxx> 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?
I think it is intended and in my opinion it is because he didn't want to declare
the local variables at the beginning of the function.  He probably wanted
that piece of code which is inside the braces as standalone.

I'm sorry if I'm missing something completely obvious here, but it seems kind of strange to me.

With kind regards,

Bas

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux