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

    −1

    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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    // https://github.com/omonar/nginx-http-auth-digest/blob/38fd7eb04b862636e61b812bbbb8fd2cae4d9ab4/ngx_http_auth_digest_module.c#L910
    
            if (ngx_auth_digest_str2_casecmp(start, 'n', 'c'))
            {
                field = &ngx_http_auth_digest_fields.nc;
    
            } else if (ngx_auth_digest_str3_casecmp(start, 'q', 'o', 'p'))
            {
                field = &ngx_http_auth_digest_fields.qop;
    
            } else if (ngx_auth_digest_str3_casecmp(start, 'u', 'r', 'i'))
            {
                field = &ngx_http_auth_digest_fields.uri;
    
            } else if (ngx_auth_digest_str5_casecmp(start, 'n', 'o', 'n', 'c', 'e'))
            {
                field = &ngx_http_auth_digest_fields.nonce;
    
            } else if (ngx_auth_digest_str5_casecmp(start, 'r', 'e', 'a', 'l', 'm'))
            {
                field = &ngx_http_auth_digest_fields.realm;
    
            } else if (ngx_auth_digest_str6_casecmp(start, 'c', 'n', 'o', 'n', 'c', 'e'))
            {
                field = &ngx_http_auth_digest_fields.cnonce;
    
            } else if (ngx_auth_digest_str6_casecmp(start, 'o', 'p', 'a', 'q', 'u', 'e'))
            {
                field = &ngx_http_auth_digest_fields.opaque;
    
            } else if (ngx_auth_digest_str8_casecmp(start, 'u', 's', 'e', 'r', 'n', 'a', 'm', 'e'))
            {
                field = &ngx_http_auth_digest_fields.username;
    
            } else if (ngx_auth_digest_str8_casecmp(start, 'r', 'e', 's', 'p', 'o', 'n', 's', 'e'))
            {
                field = &ngx_http_auth_digest_fields.response;
    
            } else if (ngx_auth_digest_str9_casecmp(start, 'a', 'l', 'g', 'o', 'r', 'i', 't', 'h', 'm'))
            {
                field = &ngx_http_auth_digest_fields.algorithm;
    
            } else {
                goto skip;
    
            }

    Чем им strcasecmp не угодил?

    Запостил: j123123, 29 Мая 2018

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

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