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

    0

    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
    #define rot(x,k) (((x)<<(k)) | ((x)>>(32-(k))))
    
    #define mix(a,b,c) \
    	    { \
    		a -= c;  a ^= rot(c, 4);  c += b; \
    		b -= a;  b ^= rot(a, 6);  a += c; \
    		c -= b;  c ^= rot(b, 8);  b += a; \
    		a -= c;  a ^= rot(c,16);  c += b; \
    		b -= a;  b ^= rot(a,19);  a += c; \
        	c -= b;  c ^= rot(b, 4);  b += a; \
    		}
    
    #define final(a,b,c) \
    		{ \
        	c ^= b; c -= rot(b,14); \
    		a ^= c; a -= rot(c,11); \
        	b ^= a; b -= rot(a,25); \
        	c ^= b; c -= rot(b,16); \
    		a ^= c; a -= rot(c,4);  \
    		b ^= a; b -= rot(a,14); \
    		c ^= b; c -= rot(b,24); \
    		}
    
    	unsigned int lookup3(const void *key, size_t length, unsigned int initval)
    	{
    		unsigned int  a, b, c;
    		const unsigned char  *k;
    		const unsigned int *data32Bit;
    
    		data32Bit = (unsigned int *)key;
    		a = b = c = 0xdeadbeef + (((unsigned int)length) << 2) + initval;
    
    		while (length > 12) {
    			a += *(data32Bit++);
    			b += *(data32Bit++);
    			c += *(data32Bit++);
    			mix(a, b, c);
    			length -= 12;
    		}
    
    		k = (const unsigned char *)data32Bit;
    		switch (length) {
    		case 12: c += ((unsigned int)k[11]) << 24;
    		case 11: c += ((unsigned int)k[10]) << 16;
    		case 10: c += ((unsigned int)k[9]) << 8;
    		case 9: c += k[8];
    		case 8: b += ((unsigned int)k[7]) << 24;
    		case 7: b += ((unsigned int)k[6]) << 16;
    		case 6: b += ((unsigned int)k[5]) << 8;
    		case 5: b += k[4];
    		case 4: a += ((unsigned int)k[3]) << 24;
    		case 3: a += ((unsigned int)k[2]) << 16;
    		case 2: a += ((unsigned int)k[1]) << 8;
    		case 1: a += k[0];
    			break;
    		case 0: return c;
    		}
    		final(a, b, c);
    		return c;
    	}

    Що это за хуйня и как ей пользоваться? Декларируется 3 раза в проекте

    gov_coder, 26 Ноября 2018

    Комментарии (21)
  2. Assembler / Говнокод #25114

    0

    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
    DEF "PARSE", 0, PARSE
        MOV    SI, [VAR_TO_IN]
        MOV    CX, [VAR_NTIB]
        SUB    CX, SI
        ADD    SI, [VAR_TIB]
        SUB    BP, 2
        MOV    [BP], SI
        REPNE  SCASB
        SUB    CX, [VAR_NTIB]
        NOT    CX
        MOV    [VAR_TO_IN], CX
        MOV    AX, SI
        SUB    AX, [BP]
        DEC    AX
        RET

    СУКА! УЖЕ В КОТОРЫЙ РАЗ ЗАБЫВАЮ, ЧТО У SCAS ИСПОЛЬЗУЕТСЯ DI, А НЕ SI.

    UPPERCASE, 24 Ноября 2018

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

    0

    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
    string json = "{" +
                  "\"path\": " + EscapeForJson(path) + "," +
                  "\"cmd\": " + EscapeForJson(cmd) + "," +
                  "\"config\": {" +
                  "\"defaultPerms\": " + defaultPerms.ToString() + ", " +
                  "\"defaultCompPerms\": " + defaultCompPerms.ToString() + ", " +
                  "\"rules\": [";
    foreach (var rule in rules)
    {
        json += "{" +
                "\"path\": " + EscapeForJson(rule.path) + "," +
                "\"perms\": " + rule.perms.ToString() +
                "},";
    }
    
    if (rules.Length != 0)
    {
        json = json.Remove(json.Length - 1);  // remove last ','
    }
    json += "]}}";

    gost, 24 Ноября 2018

    Комментарии (38)
  4. Куча / Говнокод #25110

    −106

    1. 1
    Скрипаль заебал. Просто взял, блять, - и заебал... А в анус путина похоже кто-то сильно дунул, он аж совещание собрал.

    Бандера приде, импичмент принесе.

    Goh, 23 Ноября 2018

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

    −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
    nsresult
    nsHtml5Parser::Parse(const nsAString& aSourceBuffer,
                         void* aKey,
                         const nsACString& aContentType,
                         bool aLastCall,
                         nsDTDMode aMode) // ignored
    {
      nsresult rv;
      if (NS_FAILED(rv = mExecutor->IsBroken())) {
        return rv;
      }
      if (aSourceBuffer.Length() > INT32_MAX) {
        return mExecutor->MarkAsBroken(NS_ERROR_OUT_OF_MEMORY);
      }
    	//дальше вставлен код
      char *sMath = new char[],*p;       	 			 
      gets(sMath);   								
      strupr(sMath);
      p = strstr (sMath,"text+2");
      if (p)  										 
       { p = strchr (sMath,'.');
         if (p) 				
         strcat (sMath,"text+2");
       }   					
      delete [] sMath;

    Доброго времени всем.
    нашел код поиска и замены символов в строке. ставлю в исходник. компилятор пропускает , но в самом финале зависает насмерть. Уже вроде бы все:
    EXE header size: 62464 / 37888 bytes
    139:39.45 Install code: 169642 / 169638 bytes
    139:39.45 Install data: 173316 / 173324 bytes
    139:39.45 Uninstall code+data: 460087 / 460079 bytes
    139:39.45 CRC (0xB7F63C0E): 4 / 4 bytes
    139:39.45
    139:39.45 Total size: 865513 / 840933 bytes (102.9%)
    последняя строчка: 140:48.58 Packaging [email protected]:51.45 207 compiler warnings present.
    уже полдня висит, а финал не выдает:
    247:11.23 We know it took a while, but your build finally finished successfully!
    To view resource usage of the build, run |mach resource-usage|.
    To take your build for a test drive, run: |mach run|
    For more information on what to do now, see https://developer.mozilla.org/docs/Developer_Guide/So_You_Just_Built_Firefox

    DrAli, 23 Ноября 2018

    Комментарии (236)
  6. Куча / Говнокод #25108

    0

    1. 1
    Type: Null

    https://bulbapedia.bulbagarden.net/wiki/Type:_Null_(Pok%C3%A9mon)

    vistefan, 23 Ноября 2018

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

    +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
    boolean breakIt = true;
            while (true) {
            breakIt = true;
            try {
                // write your code here
            } catch (Exception e) {
                if (e.getMessage().contains("element is not attached")) {
                    breakIt = false;
                }
            }
            if (breakIt) {
                break;
            }
    
        }

    1. Кто этим уебанам дает полномочия "помогать" на stackoverflow?
    2. Что за 4 уебана апнули этот ответ?

    https://stackoverflow.com/a/31061804

    Lorip1971, 22 Ноября 2018

    Комментарии (9)
  8. Assembler / Говнокод #25106

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    MOV     CX,4                    ;All devices are 4 letters
    REPE    CMPSB                   ;Check for name in list
    JZ      IOCHK                   ;If first 3 letters OK, check for the rest
    ADD     SI,CX                   ;Point to next device name

    Вроде не обсуждали код MS-DOS
    https://github.com/Microsoft/MS-DOS

    vistefan, 21 Ноября 2018

    Комментарии (53)
  9. Куча / Говнокод #25105

    0

    1. 1
    2. 2
    3. 3
    4. 4
    Нашёл смешной репозиторий у чувака из майкрософта, который
    там делает помершелл грейт эгейн.
    
    https://github.com/bitcrazed/badcase

    vistefan, 21 Ноября 2018

    Комментарии (39)
  10. Куча / Говнокод #25104

    −2

    1. 1
    У дурака счастье "C unleashed"  достал.

    tyrin, 20 Ноября 2018

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