1. Лучший говнокод

    В номинации:
    За время:
  2. Си / Говнокод #11280

    +130

    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
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    int print_entry(const char* name, const char* dir,const struct stat* st)
    {
      if(!S_ISDIR(st->st_mode)){
          if(S_ISREG(st->st_mode)){
            printf("<file type=\"regular file\" owner=\"%d\" group=\"%d\">%s/%s</file>\n",st->st_uid,st->st_gid,dir,name);
          };
          if(S_ISCHR(st->st_mode)){
            printf("<file type=\"charcter device\" owner=\"%d\" group=\"%d\">%s/%s</file>\n",st->st_uid,st->st_gid,dir,name);
          }
          if(S_ISBLK(st->st_mode)){
            printf("<file type=\"block device\" owner=\"%d\" group=\"%d\">%s/%s</file>\n",st->st_uid,st->st_gid,dir,name);
          }
          if(S_ISFIFO(st->st_mode)){
            printf("<file type=\"FIFO(named pipe)\" owner=\"%d\" group=\"%d\">%s/%s</file>\n",st->st_uid,st->st_gid,dir,name);
          }
          if(S_ISLNK(st->st_mode)){
             char *linkname;
             ssize_t r;
             char *lname=strcat(dir,"");
             linkname =  new char[st->st_size + 1];
             if (linkname == NULL) {
                fprintf(stderr, "insufficient memory\n");
                exit(EXIT_FAILURE);
             }
            r=readlink(lname, linkname, st->st_size + 1);
            if (r < 0) {
              return 0;
            }
               if (r > st->st_size) {
            fprintf(stderr, "symlink increased in size "
                            "between lstat() and readlink()\n");
            exit(EXIT_FAILURE);
        }
    
            linkname[st->st_size] = '\0';
            printf("<file type=\"symbolic link\" owner=\"%d\" group=\"%d\" linkname=\"%s\">%s/%s</file>\n",st->st_uid,st->st_gid,linkname,dir,name);
          }
          if(S_ISSOCK(st->st_mode)){
            printf("<file type=\"socket\" owner=\"%d\" group=\"%d\">%s/%s</file>\n",st->st_uid,st->st_gid,dir,name);
          }
        }
        return 0;
    }
     
    int main(int argc, char* argv[])
    {
    if(argc != 2)
        {
        fprintf(stderr, "Usage: %s DIR\n", argv[0]);
        exit(1);
        }
        printf("<dir name=\"%s\">\n",argv[1]);
        walk(argv[1], print_entry, 1,0);
        printf("</dir>",argv[1]);
    }

    Создание xml файла всех директорий, поддиректорий и их файлов

    AliceGoth, 22 Июня 2012

    Комментарии (23)
  3. PHP / Говнокод #11277

    +66

    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
    // text
    if ($type=="text") {
    	[skip]
    }
    
    // order
    if ($type=="order") {
    	[skip]
    }
    
    // select
    if ($type=="select") {
    	[skip]
    }
    
    // chekbox
    if ($type=="chekbox") {
    	[skip]
    }

    Таких проверок штук 20. Коментарии на всех соответствующие.

    domaster, 22 Июня 2012

    Комментарии (23)
  4. SQL / Говнокод #11177

    −153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    SELECT count(*) as cnt FROM cms_books AS b  	
    	JOIN (SELECT DISTINCT r.book_id FROM cms_book2cat AS r
    	JOIN (SELECT 40 AS category_id 
    		UNION SELECT 105 AS category_id UNION SELECT 212 AS category_id UNION SELECT 404 AS category_id UNION SELECT 1 AS category_id UNION SELECT 2 AS category_id UNION SELECT 3 AS category_id UNION SELECT 5 AS category_id UNION SELECT 62 AS category_id UNION SELECT 60 AS category_id UNION SELECT 59 AS category_id UNION SELECT 58 AS category_id UNION SELECT 55 AS category_id UNION SELECT 54 AS category_id UNION SELECT 51 AS category_id UNION SELECT 50 AS category_id UNION SELECT 49 AS category_id UNION SELECT 71 AS category_id UNION SELECT 72 AS category_id UNION SELECT 78 AS category_id UNION SELECT 85 AS category_id UNION SELECT 86 AS category_id UNION SELECT 90 AS category_id UNION SELECT 91 AS category_id UNION SELECT 92 AS category_id UNION SELECT 94 AS category_id UNION SELECT 96 AS category_id UNION SELECT 101 AS category_id UNION SELECT 156 AS category_id UNION SELECT 157 AS category_id UNION SELECT 222 AS category_id UNION SELECT 226 AS category_id UNION SELECT 398 AS category_id UNION SELECT 406 AS category_id UNION SELECT 407 AS category_id UNION SELECT 416 AS category_id UNION SELECT 417 AS category_id UNION SELECT 890 AS category_id UNION SELECT 106 AS category_id UNION SELECT 108 AS category_id UNION SELECT 111 AS category_id UNION SELECT 115 AS category_id UNION SELECT 152 AS category_id UNION SELECT 121 AS category_id UNION SELECT 125 AS category_id UNION SELECT 159 AS category_id UNION SELECT 195 AS category_id UNION SELECT 257 AS category_id UNION SELECT 262 AS category_id UNION SELECT 302 AS category_id UNION SELECT 306 AS category_id UNION SELECT 397 AS category_id UNION SELECT 401 AS category_id UNION SELECT 402 AS category_id UNION SELECT 403 AS category_id UNION SELECT 413 AS category_id UNION SELECT 414 AS category_id UNION SELECT 213 AS category_id UNION SELECT 214 AS category_id UNION SELECT 215 AS category_id UNION SELECT 216 AS category_id UNION SELECT 217 AS category_id UNION SELECT 4 AS category_id UNION SELECT 477 AS category_id UNION SELECT 45 AS category_id UNION SELECT 10 AS category_id UNION SELECT 9 AS category_id UNION SELECT 11 AS category_id UNION SELECT 65 AS category_id UNION SELECT 64 AS category_id UNION SELECT 63 AS category_id UNION SELECT 61 AS category_id UNION SELECT 57 AS category_id UNION SELECT 56 AS category_id UNION SELECT 53 AS category_id UNION SELECT 52 AS category_id UNION SELECT 48 AS category_id UNION SELECT 47 AS category_id UNION SELECT 46 AS category_id UNION SELECT 43 AS category_id UNION SELECT 44 AS category_id UNION SELECT 66 AS category_id UNION SELECT 67 AS category_id UNION SELECT 68 AS category_id UNION SELECT 69 AS category_id UNION SELECT 70 AS category_id UNION SELECT 73 AS category_id UNION SELECT 74 AS category_id UNION SELECT 75 AS category_id UNION SELECT 76 AS category_id UNION SELECT 77 AS category_id UNION SELECT 79 AS category_id UNION SELECT 80 AS category_id UNION SELECT 81 AS category_id UNION SELECT 82 AS category_id UNION SELECT 83 AS category_id UNION SELECT 84 AS category_id UNION SELECT 87 AS category_id UNION SELECT 88 AS category_id UNION SELECT 89 AS category_id UNION SELECT 93 AS category_id UNION SELECT 95 AS category_id UNION SELECT 97 AS category_id UNION SELECT 98 AS category_id UNION SELECT 102 AS category_id UNION SELECT 103 AS category_id UNION SELECT 109 AS category_id UNION SELECT 112 AS category_id UNION SELECT 113 AS category_id UNION SELECT 114 AS category_id UNION SELECT 116 AS category_id UNION SELECT 117 AS category_id UNION SELECT 119 AS category_id UNION SELECT 122 AS category_id UNION SELECT 123 AS category_id UNION SELECT 124 AS category_id UNION SELECT 126 AS category_id UNION SELECT 133 AS category_id UNION SELECT 134 AS category_id UNION SELECT 137 AS category_id UNION SELECT 142 AS category_id UNION SELECT 146 AS category_id UNION SELECT 149 AS category_id UNION SELECT 153 AS category_id UNION SELECT 155 AS category_id UNION SELECT 158 AS category_id UNION SELECT 160 AS category_id UNION SELECT 162 AS category_id UNION SELECT 163 AS category_id UNION SELECT 169 AS category_id UNION SELECT 176 AS category_id UNION SELECT 185 AS category_id UNION SELECT 193 AS category_id UNION SELECT 194 AS category_id UNION SELECT 196 AS category_id UNION SELECT 197 AS category_id UNION SELECT 198 AS category_id UNION SELECT 199 AS category_id UNION SELECT 200 AS category_id UNION SELECT 202 AS category_id UNION SELECT 205 AS category_id UNION SELECT 207 AS category_id UNION SELECT 208 AS category_id UNION SELECT 209 AS category_id UNION SELECT 210 AS category_id UNION SELECT 211 AS category_id UNION SELECT 228 AS category_id UNION SELECT 221 AS category_id UNION SELECT 224 AS category_id UNION SELECT 225 AS category_id UNION SELECT 238 AS category_id UNION SELECT 249 AS category_id UNION SELECT 250 AS category_id UNION SELECT 254 AS category_id UNION SELECT 255 AS category_id UNION SELECT 256 AS category_id UNION SELECT 258 AS category_id UNION SELECT 259 AS category_id UNION SELECT 263 AS category_id UNION SELECT 264 AS category_id UNION SELECT 265 AS category_id UNION SELECT 266 AS category_id UNION SELECT 267 AS category_id UNION SELECT 268 AS category_id UNION SELECT 269 AS category_id UNION SELECT 270 AS category_id UNION SELECT 271 AS category_id UNION SELECT 272 AS category_id UNION SELECT 274 AS category_id UNION SELECT 275 AS category_id UNION SELECT 276 AS category_id UNION SELECT 277 AS category_id UNION SELECT 278 AS category_id 
    	AS c ON (c.category_id=r.category_id)) AS br ON (b.book_id=br.book_id)
    WHERE 1

    половину пришлось отрезать - форма не пускала. Общая длина запроса - более 12k
    задача - выбрать кол-во книг из текущей категории и всех вложенных

    IntenT, 18 Июня 2012

    Комментарии (23)
  5. Си / Говнокод #10294

    +138

    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
    typedef int32_t wl_fixed_t;
    
    //было:
    static inline double wl_fixed_to_double(wl_fixed_t f)
    {
      return (double) f / 256.0;
    }
    
    //стало:
    static inline double wl_fixed_to_double(wl_fixed_t f)
    {
      union {
        double d;
        int64_t i;
      } u;
    
      u.i = ((1023LL + 44LL) << 52) + (1LL << 51) + f;
    
      return u.d - (3LL << 43);
    }

    Заоптимизировали...

    rat4, 16 Мая 2012

    Комментарии (23)
  6. C# / Говнокод #10275

    +116

    1. 1
    IsAutoUpdate ? 1.ToString() : 0.ToString()

    Практически классика.

    DukeGonzo, 15 Мая 2012

    Комментарии (23)
  7. Куча / Говнокод #9837

    +136

    1. 1
    http://cosdamcaut.narod.ru/

    Группа разработчиков ...

    Sulik78, 02 Апреля 2012

    Комментарии (23)
  8. C++ / Говнокод #8870

    +1003

    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
    unsigned int mapGray(double color/*0.0 --- 255.0*/)
    {
        int base = static_cast<unsigned char>(color);
        if(base>=255)
            return 0xFFFFFFFF;
        else if(base<0)
            return 0x000000;
        double frac = color-base;
        unsigned char r = 0;
        unsigned char g = 0;
        unsigned char b = 0;
        if(frac<1.0/14.0) {
        } else if(frac<3.0/14.0) {
            r=1;
        } else if(frac<5.0/14.0) {
            b=1;
        } else if(frac<7.0/14.0) {
            g=1;
        } else if(frac<9.0/14.0) {
            b=1;
            r=1;
        } else if(frac<11.0/14.0) {
            g=1;
            b=1;
        } else if(frac<13.0/14.0) {
            r=1;
            g=1;
        } else {
            r=1;
            g=1;
            b=1;
        }
        return (base+r)<<16 | (base+g)<<8 | (base+b) | 0xFF000000;
    }

    Чуть больше оттенков серого.

    Xom94ok, 19 Декабря 2011

    Комментарии (23)
  9. Python / Говнокод #8626

    −85

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    TEMPLATES = ( # {'s': 0, 'm': 1, 'l': 2, 'xl': 3, 'xxl': 4}
                    ((1, 0), _("1-z")),      ((1, 1), _("1-z-a")),
                    ((1, 2), _("1-z-a-p1")), ((2, 0), _("2-z")),
                    ((2, 1), _("2-z-a")),    ((2, 2), _("2-z-a-p2")),
                    ((2, 3), _("2-z-a-p3")), ((3, 0), _("3-z")),
                    ((3, 1), _("3-z-a")),    ((3, 2), _("3-z-a-p1")),
                    ((4, 0), _("4-z")),      ((4, 1), _("4-z-a")),
                    ((4, 2), _("4-z-a-p3")), ((4, 3), _("4-z-p3")),
                    ((4, 4), _("4-p3")),)

    это константа из описания класса формы, если кто-то еще не догадался

    nelson, 23 Ноября 2011

    Комментарии (23)
  10. Си / Говнокод #8599

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    void set_cameramode_with_reset(GameCameraMode mode, bool reset) 
      {
        CurrentTime time;
        switch (reset)
        {
          case false: game.state_camera_mode(mode, time, true, 1); break;
          case true: game.state_camera_mode(mode, time, true, 2);
        }
      }

    Мало ли, влруг ещё варианты появятся.

    MAGnit, 22 Ноября 2011

    Комментарии (23)
  11. Си / Говнокод #8495

    +132

    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
    void * c_memmove(void *dest, void *src, size_t n)
    {
      void *ret = dest;
    
      if (n)
      {
    
        *(__int8 **)&dest += n;
        *(__int8 **)&src += n;
    
        switch (int x = n % 4)
        {
          do
          {
            if (!!'true')
            {
              case 0:
                *--*(__int32 **)&dest = *--*(__int32 **)&src;
                n -= 4;
            }
            else
            {
              case 3: 
                *--*(__int8 **)&dest = *--*(__int8 **)&src;
              case 2: 
                *--*(__int8 **)&dest = *--*(__int8 **)&src;
              case 1: 
                *--*(__int8 **)&dest = *--*(__int8 **)&src;
              n -= x;
            }
          } while (n);
        }
      }
      return ret;
    }

    63F45EF45RB65R6VR, 11 Ноября 2011

    Комментарии (23)