1. Си / Говнокод #9953

    +128

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    #ifndef __KERNEL__
    /* Multicast groups - backwards compatiblility for userspace */
    #define SELNL_GRP_NONE		0x00000000
    #define SELNL_GRP_AVC		0x00000001	/* AVC notifications */
    #define SELNL_GRP_ALL		0xffffffff
    #endif
    
    enum selinux_nlgroups {
    	SELNLGRP_NONE,
    #define SELNLGRP_NONE	SELNLGRP_NONE
    	SELNLGRP_AVC,
    #define SELNLGRP_AVC	SELNLGRP_AVC
    	__SELNLGRP_MAX
    };
    #define SELNLGRP_MAX	(__SELNLGRP_MAX - 1)

    Linux 3.3.0
    include/linux/selinux_netlink.h

    Запостил: myaut, 15 Апреля 2012

    Комментарии (2) RSS

    • Да, какая-то хитрая алхимия... возможно, на то были причины. Скажем, на случай, если в коде где-то написан #undef.
      Ответить
      • Я думаю, что "одноименные" макросы были заведены для того, чтобы иметь возможность при необходимости "переставить" их на другие значения. Например, на значения, определенные выше. Т.е. 'SELNLGRP_NONE' определяетcмя либо как 'SELNLGRP_NONE', либо, при необходимости, как 'SELNL_GRP_NONE'.
        Ответить

    Добавить комментарий