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

    +56

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    bool XIsEmptyString( LPCTSTR str )
    {
    	CString s(str);
    	s.TrimLeft();
    	s.TrimRight();
    
    	return ( s.IsEmpty() || s == _T("") );
    }

    Кажется разработчика настиг приступ паранойи.

    Взято из библиотека XMLite

    German_1984, 23 Января 2015

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

    +56

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    `        enum SearchFlag
             {
                 IgnoreCase = 0x00000001,    ///< Case differences are ignored
    -            WholeWorlds = 0x00000002    ///< Only whole words are matched
    +            WholeWords = 0x00000002    ///< Only whole words are matched
             };

    очепятка + копи-паста = world domination.

    http://lists.freedesktop.org/archives/poppler/2015-January/011251.html

    http://cgit.freedesktop.org/poppler/poppler/commit/?id=78abf540057181b708c546aee421f81a1dd5 8331

    Dummy00001, 22 Января 2015

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

    +59

    1. 1
    2. 2
    3. 3
    if ( number % 10 == 0 ) {
        number %= 10;
    }

    мне кажется, или...

    artembegood, 21 Января 2015

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

    +76

    1. 1
    2. 2
    if ( !log.append(log_line) )
    	log.append("Can't append to log");

    Безумие, оно рядом.

    Anus, 20 Января 2015

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

    +53

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int s = 0;
    string N;
    getline(cin, N);
    // Прости господи
    for (int i = 0; i < N.length(); i++)
        if (N[i] != 0)
            s += N[i] - 48;

    Глянул свой недавний код

    DesmondHume, 17 Января 2015

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

    +58

    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
    98. 98
    99. 99
    #include <fstream>
    #include <string.h>
    #include <stdlib.h>
    #include <iostream>
    typedef unsigned int uint;
    std::string sMsg;
    
    int GetShift()
    {
    	int iResult = 0;
    	for(uint i = 0; i < sMsg.size(); i++)
    	{
    		if(!isalpha(sMsg[i])) continue;
    		
    		if(isupper(sMsg[i]))
    		{
    			iResult = int(sMsg[i]) - int('A');
    			break;
    		}
    		else if(islower(sMsg[i]))
    		{
    			iResult = int(sMsg[i]) - int('a');
    			break;
    		}
    	}
    	return iResult;
    }
    
    int Pos(const char* _Str, char _Ch)
    {
    	int i = 0;
    	while(*_Str)
    	{
    		if(*_Str == _Ch)
    		{
    			return i;
    		}
    		_Str++;
    		i++;
    	}
    	return -1;
    }
    
    int main()
    {
    	std::ifstream fin("input.txt");
    	std::ofstream fout("output.txt");
    	
    	std::getline(fin, sMsg);
    	
    	int iShift = GetShift();
    	if(iShift == 0)
    	{
    		fout << sMsg;
    	}
    	else
    	{
    		char* szOriginal = (char*)malloc(100);
    		strcpy(szOriginal, "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
    		char* szShift = (char*)malloc(100);
    		strcpy(szShift, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ");
    		szShift += iShift;
    		
    		char* szOriginalL = (char*)malloc(100);
    		strcpy(szOriginalL, "abcdefghijklmnopqrstuvwxyz");
    		char* szShiftL = (char*)malloc(100);
    		strcpy(szShiftL, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");
    		szShiftL += iShift;
    		
    		for(int i = 0; i < sMsg.size(); i++)
    		{
    			if(!isalpha(sMsg[i]))	
    				fout << sMsg[i];
    			else
    			{
    				if(isupper(sMsg[i]))
    				{
    					int iPos = Pos(szShift, sMsg[i]);
    					fout << *(szOriginal + iPos);
    				}
    				else if(islower(sMsg[i]))
    				{
    					
    					int iPos = Pos(szShiftL, sMsg[i]);
    					fout << *(szOriginalL + iPos);
    				}
    			}
    		}
    		
    		free(szOriginal);
    		free(szShift);
    		free(szOriginalL);
    		free(szShiftL);
    	}
    	
    	fin.close();
    	fout.close();
    	return 0;
    }

    В рамках подготовки к прошедшей областной олимпиаде по информатике среди школьников Минской области решал задачи. Данный говнокод решение задачи про шифр цезаря (данная задача была на областной олимпиаде в 2013 - 2014 учебном году).
    Задача: расшифровать строку, которая зашифрована шифром Цезаря, так, чтобы полученная расшифровка была минимальна лексикографически.
    Зашифрованная строка находится в файле input.txt, результат надо было вывести output.txt

    Janycz, 16 Января 2015

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

    +50

    1. 1
    2. 2
    3. 3
    4. 4
    namespace Memory
    {
         #include <malloc.h>
    }

    LispGovno, 16 Января 2015

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

    +50

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    else if ( pTemp->flags & FTENT_SPIRAL )
    			{
    				float s, c;
    				s = sin( pTemp->entity.baseline.origin[2] + fastFreq );
    				c = cos( pTemp->entity.baseline.origin[2] + fastFreq );
    
    				pTemp->entity.origin[0] += pTemp->entity.baseline.origin[0] * frametime + 8 * sin( client_time * 20 + (int)pTemp );
    				pTemp->entity.origin[1] += pTemp->entity.baseline.origin[1] * frametime + 4 * sin( client_time * 30 + (int)pTemp );
    				pTemp->entity.origin[2] += pTemp->entity.baseline.origin[2] * frametime;
    			}

    entity.cpp из cl_dlls от xash. Предположительно унаследовано от half-life sdk. На 64 битах сборка разумеется падает.
    Что они пытались сделать?
    За запихивание указателя под синус имхо надо запихивать указатель в анус.

    mittorn, 15 Января 2015

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

    +54

    1. 1
    ((Dialog*)parent)->getSquareStorage()->at(((Dialog*)parent)->getSquareStorage()->size() / 2)->setColor(0,0,0);

    Qt. Я естественно сразу же переписал этот шлак

    artembegood, 15 Января 2015

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

    +54

    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
    // Блок кода с выходом по break
    #define BLOCK for (int _count = 1; _count--;)
    
    bool Result::commit()
    {
    	BLOCK {
    		mysql_query(db->mysql, "BEGIN");
    
    		if (!saveBasePart())
    			break;
    
    		if (getCategory() != NULL) {
    			if (!saveCustomValues())
    				break;
    		}
    
    		mysql_query(db->mysql, "COMMIT");
    		return true;
    	}
    
    	mysql_query(db->mysql, "ROLLBACK");
    	return false;
    }

    hdkeeper, 14 Января 2015

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