1. C++ / Говнокод #215

    −40.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
    /* This is bad. Reaaly bad. It's a really, really bad hack. If you're an employee of 
     * Intertrode Communication, then I'm really, really sorry that you have to maintain
     * this. I was honestly planning on removing this tomorrow, but I've been known to 
     * forget things like this. It happens.
     *
     * So here's the thing. I can't seem to figure out why the AccountId variable isn't 
     * set. I've looked and looked, but I gotta leave now. Anyway, I've found that I can
     * just grab the AccountID from the debugging logs.  I suppose that to fix it, you'd
     * have to locate where it's clearing out the ID.
     *
     * Again, I'm sorry.
     */
    
    if ( (AccountId == NULL) || (AccountId == "") ||
         (ServerSesion["AccountId"] == NULL) || (ServerSesion["AccountId"] == "") )
    {
      //open session logs
      FileHandle file = f_open(LOG_PATH + "\sessionlog-" + LOG_FILE_DATE + ".log", 1);
      while (file != NULL)
      {
        
        TString line = f_readline(file);
    
        //look for IP and changereg
        if ( (sfind(line,REMOTE_ADDR) != -1) && (sfind(line,"changereg") != -1) )
        {
          //0000-00-00 00:00 /accountmaint/changereg/?AccountId=123456 255.255.255.255 ...
          //                                                    *
          AccountId = substr(line, 52, 6);
        }
    
        if (f_EOF(file)) { f_close(file); file = NULL; }
      }
    
    }

    У чувака где то перетирается AccountId, так он берет данные из логов IIS'а :) Главное, что он сожалеет об этом.
    Отсюда: http://thedailywtf.com/Articles/The_Apologetic_Coder.aspx

    guest, 18 Декабря 2008

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

    −27.3

    1. 1
    2. 2
    3. 3
    cout<<"enterX"<<endl;
         cin >>x;
    x = 0.125;

    guest, 18 Декабря 2008

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

    +1429.9

    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
    bool IsBukva(char symbol)
    {
    switch(symbol)
    {
    case'a':return 1;break;
    case'b':return 1;break;
    case'c':return 1;break;
    case'd':return 1;break;
    case'e':return 1;break;
    case'f':return 1;break;
    case'g':return 1;break;
    case'h':return 1;break;
    case'i':return 1;break;
    case'j':return 1;break;
    case'k':return 1;break;
    case'l':return 1;break;
    case'm':return 1;break;
    case'n':return 1;break;
    case'o':return 1;break;
    case'p':return 1;break;
    case'q':return 1;break;
    case'r':return 1;break;
    case's':return 1;break;
    case't':return 1;break;
    case'u':return 1;break;
    case'v':return 1;break;
    case'w':return 1;break;
    case'x':return 1;break;
    case'y':return 1;break;
    case'z':return 1;break;
    case'A':return 1;break;
    case'B':return 1;break;
    case'C':return 1;break;
    case'D':return 1;break;
    case'E':return 1;break;
    case'F':return 1;break;
    case'G':return 1;break;
    case'H':return 1;break;
    case'I':return 1;break;
    case'J':return 1;break;
    case'K':return 1;break;
    case'L':return 1;break;
    case'M':return 1;break;
    case'N':return 1;break;
    case'O':return 1;break;
    case'P':return 1;break;
    case'Q':return 1;break;
    case'R':return 1;break;
    case'S':return 1;break;
    case'T':return 1;break;
    case'U':return 1;break;
    case'V':return 1;break;
    case'W':return 1;break;
    case'X':return 1;break;
    case'Y':return 1;break;
    case'Z':return 1;break;
    default:return 0;
    }
    }

    Женский вариант проверки символа на букву.
    Оригинал тут: http://forum.vingrad.ru/forum/topic-240593.html

    guest, 17 Декабря 2008

    Комментарии (189)
  4. C++ / Говнокод #179

    +26

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    void		releaseNext(int iID, int iPipeline, bool bForce = false);
    bool		releaseForced(int &iID, int &iPipeline);
    bool		releaseForced2(int &iID, int &Pipeline);
    bool		releaseForced3(int iID, int Pipeline);
    bool		releaseFinally(int iID, int iPipe);

    кусок public definitions класса

    guest, 15 Декабря 2008

    Комментарии (50)
  5. C++ / Говнокод #171

    +28

    1. 1
    namespace ? = boost::lambda;

    навеяно http://www.govnokod.ru/165

    guest, 14 Декабря 2008

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

    −42.5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    void elswap(int ?,int ?, int ?, int ?)  
     {
     int ?;
     ?=?[?][?];
     ?[?][?]=?[?][?];
     ?[?][?]=?;
     }

    обмен значений 2 элементов 2-мерного массива

    guest, 14 Декабря 2008

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

    −59.6

    1. 1
    2. 2
    3. 3
    4. 4
    if( a < 10 ) cout << "a < 10";
    else if( a > 10 ) cout << "a > 10";
    else if( a == 10 ) cout << "a == 10";
    else cout << "Сегодня совсем плохой день :(";

    Совсем плохой день :(

    guest, 13 Декабря 2008

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

    −115.8

    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
    try{
       memcpy(pbSourceData, pbDestData + sizeof(tc_version) + sizeof(dwSenderNameLen) + dwSenderNameLen, key_len);
    }
    catch(...) {
       ret = EX_ERROR;
       goto err;
    }
    
    try{
       memcpy(pbKeyData, pbSignData + sizeof(tc_version) + sizeof(dwSenderTPLen) + dwSenderTPLen, key_len);
    }
    catch(...) {
       ret = EX_ERROR;
       goto err;
    }

    Аналогичные куски повторяются раз 10 друг за другом с другими переменными.

    guest, 12 Декабря 2008

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

    −32

    1. 1
    #define NULL 1

    :) Из той же оперы, что и http://govnokod.ru/62

    guest, 12 Декабря 2008

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

    −45.6

    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
    if ( g_nIdleState == 0 ) 
    	{	// Initialize the splash screen right away
    		if ( g_CurrentOptions.get_splash_screen() ) 
    			fgSplashInit();
    		g_nIdleState++;
        } 
    	else 
    		if ( g_nIdleState == 1 ) 
    			g_nIdleState++;
    		else 
    			if ( g_nIdleState == 2 ) 
    				g_nIdleState++;
    			else
    				if ( g_nIdleState == 3 ) 
    				{
    					if( !fgInitSubsystems()) 
    					{
    						FG_LOG(__FILE__, __LINE__,  FG_DK_GENERAL, FG_FALSE,   "Subsystem initializations failed ..." );
    						exit(-1);
    					}
    					g_nIdleState++;
    				}
    				else
    					if ( g_nIdleState == 4 ) 
    					{
    						fgInitVisuals();  // setup OpenGL view parameters
    						g_nIdleState++;
    					}
    					else
    						if ( g_nIdleState == 5 ) 
    							g_nIdleState++;
    						else 
    							if ( g_nIdleState == 6 ) 
    							{
    								mark_time( &g_tsFrame );
    								mark_time(&g_tsTime);
    								g_nIdleState = 1000;
    							} 
    
        if ( g_nIdleState == 1000 ) 
    		fgMainLoop();
    	else 
    		if ( g_CurrentOptions.get_splash_screen() == 1 ) 
    			fgSplashUpdate(0.0);

    процесс загрузки и вывода сплэш-скрина и запуск основного рендера после этого (так предлагал делать flight gear в очень старой версии или чел, который ваял этот код, когда переделывал FG под нужды двигла, бугага)

    guest, 12 Декабря 2008

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