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

    +140

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    // connection reset by peer?
          if(tcpflags & TCP_FLAG_RST)
          {
             st->status = TCP_CLOSED;
             if( (st->status == TCP_ESTABLISHED) ||
                (st->status == TCP_FIN_WAIT) )
             {
                tcp_closed(id, 1);
             }
             return;
          }

    из одного маленького эмбеддед-проектика)

    odmin, 24 Мая 2011

    Комментарии (3)
  2. Куча / Говнокод #6743

    +134

    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
    -module(common_io).
    -export([read_utf8/2, default_fallback/1]).
    
    default_fallback(<<Data>>)->
        erlang:display(Data).
    
    read_utf8(Collected, <<Utf8Char/utf8>>, _CallAfter)->
        lists:append(Collected, [Utf8Char]);
    read_utf8(Collected, <<Utf8Char/utf8, Data/binary>>, CallAfter)->
        lists:append([Collected, [Utf8Char], read_utf8(Data, CallAfter)]);
    read_utf8(Collected, <<Data/binary>>, CallAfter)->
        CallAfter(Data),
        Collected;
    read_utf8(Collected, <<>>, _CallAfter)->
        Collected.
    
    read_utf8(<<>>, _CallAfter)->
        [];
    read_utf8(<<Utf8Char/utf8>>, _CallAfter)->
        [Utf8Char];
    read_utf8(<<Data/binary>>, CallAfter)->
        read_utf8([], Data, CallAfter).

    Первый раз в жизни пишу что-то на Эрланге. Чует сердце, что что-то тут не так...

    wvxvw, 24 Мая 2011

    Комментарии (5)
  3. Java / Говнокод #6742

    +124

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    map.put(Byte.valueOf(String.valueOf((int)rs.getBytes(1)[0])), rs.getString(2).trim());
    ....
    //чуть ниже
    ....
    icon = map.get(Byte.valueOf(String.valueOf((int)line[days])));

    3.14159265, 24 Мая 2011

    Комментарии (6)
  4. PHP / Говнокод #6741

    +147

    1. 1
    else echo "Some error occurred.";

    Дзен говнокода

    shinisaru, 24 Мая 2011

    Комментарии (25)
  5. Objective C / Говнокод #6740

    −110

    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
    if (starsCounter == 1) 
    	{
    		[DCObjects drawSpriteFromBatch:bg name:@"star-little.png" point:ccp(250, 190) z:1 tag:1];	
    	}
    	else if (starsCounter == 2) 
    	{
    		[DCObjects drawSpriteFromBatch:bg name:@"star-little.png" point:ccp(250, 190) z:1 tag:1];
    		[DCObjects drawSpriteFromBatch:bg name:@"star-little.png" point:ccp(260, 190) z:1 tag:1];
    	}
    	else if (starsCounter == 3) 
    	{
    		[DCObjects drawSpriteFromBatch:bg name:@"star-little.png" point:ccp(250, 190) z:1 tag:1];
    		[DCObjects drawSpriteFromBatch:bg name:@"star-little.png" point:ccp(260, 190) z:1 tag:1];
    		[DCObjects drawSpriteFromBatch:bg name:@"star-little.png" point:ccp(270, 190) z:1 tag:1];
    	}
    	else if (starsCounter == 4) 
    	{
    		[DCObjects drawSpriteFromBatch:bg name:@"star-little.png" point:ccp(250, 190) z:1 tag:1];
    		[DCObjects drawSpriteFromBatch:bg name:@"star-little.png" point:ccp(260, 190) z:1 tag:1];
    		[DCObjects drawSpriteFromBatch:bg name:@"star-little.png" point:ccp(270, 190) z:1 tag:1];
    		[DCObjects drawSpriteFromBatch:bg name:@"star-little.png" point:ccp(280, 190) z:1 tag:1];
    	}
    	else if (starsCounter == 5) 
    	{
    		[DCObjects drawSpriteFromBatch:bg name:@"star-little.png" point:ccp(250, 190) z:1 tag:1];
    		[DCObjects drawSpriteFromBatch:bg name:@"star-little.png" point:ccp(260, 190) z:1 tag:1];
    		[DCObjects drawSpriteFromBatch:bg name:@"star-little.png" point:ccp(270, 190) z:1 tag:1];
    		[DCObjects drawSpriteFromBatch:bg name:@"star-little.png" point:ccp(280, 190) z:1 tag:1];
    		[DCObjects drawSpriteFromBatch:bg name:@"star-little.png" point:ccp(290, 190) z:1 tag:1];
    	}

    Chippman, 24 Мая 2011

    Комментарии (27)
  6. PHP / Говнокод #6739

    +165

    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
    /////////////////////////////////////////////////////////////////////////////ивенты: регистрация (1)
    $e_reg=mysql_query("SELECT * 
        from  a_event
    where event_status='1'");     
        
    
    $events_reg=array();
      for($x=0;$events_reg[$x]=mysql_fetch_assoc($e_reg);$x++);
      unset($events_reg[count($events_reg)-1]);
    
    /////////////////////////////////////////////////////////////////////////////ивенты: групповой этап (2)
    $e_grp=mysql_query("SELECT * 
        from  a_event
    where event_status='2'");     
        
    
    $events_grp=array();
      for($x=0;$events_grp[$x]=mysql_fetch_assoc($e_grp);$x++);
      unset($events_grp[count($events_grp)-1]);

    Нашел вот такое вот на работе. Доски рядом не оказалось :(

    inf, 24 Мая 2011

    Комментарии (12)
  7. C++ / Говнокод #6738

    +163

    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
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    class AnotherDammLoggerClass {
    
    public:
    
      // ...
      
      static inline char *strtime()
      {
        // method is twice as fast as strftime)
        static const int ASCII_OFFSET=48;
        static char buffer[32]="";
        struct timeval tv;
        struct tm *lt;
    
        if ( 0 == gettimeofday(&tv,NULL) )
        {
          lt=localtime(&tv.tv_sec);
    
          int i=0;
    
          /* year */
          buffer[i++]=(lt->tm_year%100/10)+ASCII_OFFSET;
          buffer[i++]=(lt->tm_year%10)+ASCII_OFFSET;
          /* month */
          buffer[i++]=((lt->tm_mon+1)/10)+ASCII_OFFSET;
          buffer[i++]=((lt->tm_mon+1)%10)+ASCII_OFFSET;
          /* day */
          buffer[i++]=(lt->tm_mday/10)+ASCII_OFFSET;
          buffer[i++]=(lt->tm_mday%10)+ASCII_OFFSET;
          /* separator */
          buffer[i++]='.';
          /* hours */
          buffer[i++]=(lt->tm_hour/10)+ASCII_OFFSET;
          buffer[i++]=(lt->tm_hour%10)+ASCII_OFFSET;
          /* minutes */
          buffer[i++]=(lt->tm_min/10)+ASCII_OFFSET;
          buffer[i++]=(lt->tm_min%10)+ASCII_OFFSET;
          /* seconds */
          buffer[i++]=(lt->tm_sec/10)+ASCII_OFFSET;
          buffer[i++]=(lt->tm_sec%10)+ASCII_OFFSET;
          /* separator */
          buffer[i++]='.';
          /* microseconds */
          buffer[i++]=(((tv.tv_usec)%1000000)/100000)+ASCII_OFFSET;
          buffer[i++]=(((tv.tv_usec)%100000)/10000)+ASCII_OFFSET;
          buffer[i++]=(((tv.tv_usec)%10000)/1000)+ASCII_OFFSET;
          buffer[i++]=(((tv.tv_usec)%1000)/100)+ASCII_OFFSET;
          buffer[i++]=(((tv.tv_usec)%100)/10)+ASCII_OFFSET;
          buffer[i++]=(((tv.tv_usec)%10))+ASCII_OFFSET;
          /* delimiter */
          buffer[i++]=(char)0;
        }
        else
        {
          strcpy(buffer,  "<no time>");
        }
        return buffer;
      }
      // ....
    }

    оптимизируем производительность. коммент "twice as fast as strftime" порадовал: вместо того что бы редундантные вызовы поубирать, давайте ручками перепишем. для пущей красоты сделано inline (и еще скапипазджено в три других места проекта).

    потому что в логгере strftime() наверное жутко тормозил - например по сравненю с записью сообщений на диск.......

    Dummy00001, 23 Мая 2011

    Комментарии (8)
  8. Си / Говнокод #6737

    +147

    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
    make: предупреждение: Неправильный ход часов.  Сборка может быть неполной.
    mooncrafter@ubuntu:~/allthis/4_mesg$ make lol
    make: Внимание: Файл `Makefile' имеет будущее время 1,6e+03 s модификации
    gcc -c create_matrix/create_matrix.c
    gcc -c source/server.c source/lib/do.h source/lib/scmsg.h source/lib/msg.h
    gcc server.o -o server
    gcc -c source/client.c source/lib/do.h source/lib/scmsg.h source/lib/msg.h
    rm create_matrix.o server.o client.o source/lib/do.h.gch source/lib/scmsg.h.gch source/lib/msg.h.gch
    apt-get moo
             (__) 
             (oo) 
       /------\/ 
      / |    ||   
     *  /\---/\ 
        ~~   ~~   
    ...."Have you mooed today?"...
    sleep 1.5
    clear
    
    
    
    make: предупреждение: Неправильный ход часов.  Сборка может быть неполной.
    mooncrafter@ubuntu:~/allthis/4_mesg$ clear

    - называется перевёл чася на час наЗад!

    Mooncrafter, 23 Мая 2011

    Комментарии (7)
  9. C++ / Говнокод #6736

    +166

    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
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    #include <dir.h>//ДЛЯ ОПРЕДЕЛЕНИЯ mkdir(ИМЯ ПАПКИ)
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <alloc.h>
    #include <string.h>
    #include <iostream.h>
     int ndig(char x)
    {if('0'<=x&&x<='9')return 0;else return 1;}
    // СТРОКА ВЕДОМОСТИ ДЛЯ ОДНОГО СТУДЕНТА
     struct stud
    {char fio[122];int b[9],ns
    static int nc
    ,nd;
     void out(FILE*fo);stud(){fio[121]=0;}
    stud(FILE*fi);
    stud(stud&s){*this=s;}
    }; //end of stud body
     int stud::nc=44;
     int stud::nd=5;
     stud::stud(FILE *fi)
    {fscanf(fi,"%i ",&ns); fgets(fio,nc,fi);
    for(int j=1;j<=nd;++j)fscanf(fi,"%i",&b[j]);}
    
     void stud::out(FILE*fo=stdout)
    {fprintf(fo,"%3i ",ns);
    fputs(fio,fo); for(int j=1;j<=nd;++j)
    {if(b[j]>=0&&b[j]<6) fprintf(fo,"%3i",b[j]);
    else fprintf(fo,"   ");}
    fprintf(fo,"\n"); if ( fo==stdout) getch();
    }//end of stud
    
    //ВЕДОМОСТЬ ОДНОЙ ГРУППЫ
    //("МАССИВ СТРОК" ДЛЯ ОТДЕЛЬНЫХ СТУДЕНТОВ)
    
     struct grup{ stud**st;//"МАССИВ СТУДЕНТОВ"
    FILE*fi;char title[3][122]//"ШАПКА" ВЕДОМОСТИ
    ,sf[77];
    
    int ms;//ЧИСЛО СТУДЕНТОВ
    void nw();//ПАМЯТЬ ДЛЯ СТУДЕНТОВ
    void out(char*sf); void out(FILE*fo);
    grup(grup&g);grup(int fms){ms=fms; nw();}
    grup(char*sf); grup&operator=(const grup&g);
    void deg();~grup(){deg();} grup(); };
    //end of grup body
     grup::grup(){ms=0;st=0;fi=0;
    for(int j=0;j<3;++j)memset(title[j],0,122);}
    
     void grup::nw()
    {st=new stud*[ms+1];
    if(!st){cout<<"\nst=0  grup::nw()\n";exit(1);}
    for(int j=0;j<=ms;++j)
    {st[j]=new stud;
    if(!st){cout<<"\nst[j]=0\n";exit(1);}
    }}
     grup::grup(char*fsf)
    {strcpy(sf,fsf); char s[77]="\n"; int j;
    fi=fopen(sf,"rt");
    if(!fi)
    {cout<<"\n0)fi=0,sf="<<sf;getch();exit(1);}
    ms=0; while(!feof(fi)){fgets(s,77,fi);++ms;}
    ms-=3; fclose(fi); fi=fopen(sf,"rt");
    if(!fi){cout<<"\nfi\n";exit(1);}
    for(j=0;j<3;++j) fgets((title[j]),77,fi);
    
    //ВВОД "СТУДЕНТОВ" ИЗ ФАЙЛА sf
    nw();for(j=1;j<=ms;++j){stud stj(fi);*st[j]=stj;}
    fclose(fi);
    }
     grup&grup::operator=(const grup&g)
    {if(this==&g)return*this; int j; this->deg();
    fi=g.fi; strcpy(sf,g.sf); ms=g.ms;
    nw(); for(j=0;j<=ms;++j)*st[j]=*g.st[j];
    for(j=0;j<3;++j)strcpy(title[j],g.title[j]);
    return*this;
    }
     grup::grup(grup&g)
    {for(int j=0;j<3;++j)strcpy(title[j],g.title[j]);
    ms=g.ms; strcpy(sf,g.sf);
    nw(); for(j=0;j<=ms;++j)*st[j]=*g.st[j];
    }
     void grup::deg()
    {if(st) {for(int j=0;j<=ms;++j)
    if(st[j]){delete st[j];st[j]=0;}delete[]st;st=0;}
    }
     void grup::out(FILE*fo=stdout)
    {if(fo==stdout)cout<<'\n'; int j=0;
    for(;j<3;j++) fputs(title[j],fo);
    
    for(j=1;j<=ms;j++) st[j]->out(fo);
    }
     void grup::out(char*sf)
    {FILE*fo=fopen(sf,"wt");
    if(!fo){cout<<"\nfo=0\n";exit(1);}
    out(fo); fclose(fo);
    } //end of grup

    Кусок кода с "базовыми классами" для курсовой работы в непоследнем университете Петербурга. Данные "классы" потом по заданию предлагается всячески расширять.
    А потом жалуемся, что студенты ничего не умеют. А кто ж их учит?

    CTRSpirit, 23 Мая 2011

    Комментарии (68)
  10. PHP / Говнокод #6735

    +170

    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
    //ці граблі краще не чіпати, а то все завалиться) тут якось магічно визначається попередній крок)
    if (($step_id - 1) == 4) {
        $prstep_id = 3;
    } elseif (($step_id - 1) == 6) {
        $prstep_id = 5;
    
    } elseif (($step_id - 1) == 9) {
        $prstep_id = 8;
    } elseif (($step_id - 1) == 3) {
        $prstep_id = 4;
    } elseif (in_array($step_id, array(6, 9, 14))) { //кроки на яких рахуються закритим проектом
        $prstep_id = $step_id;
    } else {
        $prstep_id = ($step_id - 1);
    }

    hudson, 23 Мая 2011

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