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

    +3

    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
    #include <iostream>
     
    using namespace std;
     
    class lock_guard_ext{
    public:
        lock_guard_ext() { cout << "lock_guard_ext ctor" << endl; }
        ~lock_guard_ext() { cout << "lock_guard_ext dtor" << endl; }
    };
     
    struct Access {
        lock_guard_ext lock;
        int & ref_to_value;
    };
     
    int & t() {
        throw 0;
    }
    
    Access foo1() {
        return { {}, t() };
    }
     
    int main () {
        try {
            volatile auto a = foo1();
        } catch (int) {
     
        }
    }

    В шланге деструктор вызывается, в gcc не вызывается.
    https://wandbox.org/permlink/7sbsqzhbo0o7dOse

    j123123, 12 Декабря 2019

    Комментарии (33)
  2. Java / Говнокод #26204

    −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
    Statement stmt = null; 
    ResultSet rs = null; 
    
    try{     
    stmt = connection.createStatement();    
    ResultSet rs = stmt.executeQuery("select * from VENDORS");   
     while(rs.next())
         {
          //тело цикла....
           }
     } 
    finally
    { 
         rs.close(); stmt.close(); 
    }

    Тимлид сказал что за такое будет руки отрывать. Что тут не так?

    mozga, 12 Декабря 2019

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

    +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
    public static XmlNode FindNodeRecursive(XmlNode document, string nodeName)
    {
        if (document.Name == nodeName)
            return document;
    
        foreach (XmlNode node in document.ChildNodes)
        {
            if (node.Name == nodeName)
                return node;
    
            XmlNode resNode = FindNodeRecursive(node, nodeName);
            if (resNode != null && resNode.Name == nodeName)
                return resNode;
        }
    
        return (XmlNode)null;
    }
    <...>
     XmlDocument document = new XmlDocument();
     document.LoadXml(request);
    
    var PurchaseIdNode = XmlProcessing.FindNodeRecursive(document, "PurchaseId");

    Разработчик с 15-летним стажем
    XPath'у не доверяет

    Barch, 12 Декабря 2019

    Комментарии (36)
  4. Си / Говнокод #26202

    −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
    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
    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <stdlib.h>
    
    int Regctl_set_ioctl5(ulong param_1,ulong param_2)
    
    {
      int __fd;
      int iVar1;
    
      struct {
        ulong addr;
        ulong flags;
        int * resultptr;
        int result;
      } x;
    
      x.addr = param_1;
      x.flags = param_2;
    
      __fd = open("/dev/regctl",O_RDWR);
      if (__fd == 0) { printf("%s: error:  open dev/misc/regctl  fail \n","dwReadRegVal"); } else {
        iVar1 = ioctl(__fd,5,&x);
        if (iVar1 == -1) {
          printf("%s: error:  regctl ioctl fail \n","dwReadRegVal");
          close(__fd);
        }
        else {
          close(__fd);
        }
      }
      printf("iVar1: %d\n", iVar1);
      printf("%d\n", x.result);
      //return __fd;
      return -1;
    }
    
    int Regctl_set_2_dwWriteRegVal(int param_1,int param_2,int param_3)
    
    {
    	int fd; int iVar1;
    	struct {
    		int addr;
    		int flags;
    		int * data;
    	} y;
    	y.addr = param_1;
    	y.flags = param_2;
    	y.data[0] = param_3;
    
      fd = open("/dev/regctl",O_RDWR);
      if (fd == 0) {
        printf("%s: error:  open dev/misc/regctl  fail \n","dwWriteRegVal");
      }
      else {
        iVar1 = ioctl(fd,1,&y);
        if (iVar1 == -1) {
          printf("%s: error:  regctl ioctl fail \n","dwWriteRegVal");
          close(fd);
        }
        else {
          close(fd);
        }
      }
      //return __fd;
      return -1;
    }
    
    void Regctl_main_function(void) {
    	uint uVar1; uVar1 = Regctl_set_ioctl5(0x90c00000,0x54);
    	printf("uVar1: %d\n", uVar1);
    //	Regctl_set_2_dwWriteRegVal(-0x6f400000,0x54,uVar1 & 0xfffc3fff | 0x28000);
    	return;
    }
    
    int main() {
    	Regctl_main_function();
    	return 0;
    }

    выдаёт segfault, что тут не так?

    TTcuxonam, 12 Декабря 2019

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

    +1

    1. 1
    2. 2
    Китайский код:
    https://govnokod.ru/26076

    Alice-Goth, 12 Декабря 2019

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

    +1

    1. 1
    2. 2
    https://www.youtube.com/watch?v=7OCecU7hwbQ
    https://www.youtube.com/watch?v=TDWOifwGpKY

    Alice-Goth, 12 Декабря 2019

    Комментарии (0)
  7. Python / Говнокод #26091

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    import random
    
    UPCHK = ["СЕМ", "ОДИН", "БЛЭЦК", "ОЛОЛО", "БЖЫБЖА", "ЖУЧЛО", "ВЗДРЪЖНИ ЭФФЕКТ", "ВИДЕ", "ДВА МРЕОКЛЯ", "ДЕНИСЕ", "ДУПЯЧКА", "ГЛАГНЕ", "ГЛАНДЭ", "ГАЛАКТЕКО ОПАСНОСТЕ", "ЖАЖА", "ЕБИ ГУСЕЙ, СУКА!!11111", "ЖЕПЬ ЕБРИЛО", "ЖНЕЖНЕ", "ЖРАЧНЕ", "ПЯПЯЩЬ", "ЖЫВТОНЕ", "ЖУЙЧНИ", "ЖИВЛОБАРЕ", "ЖЪРЧИК", "ЗАРЯД УПЯЧКИ", "КЕЙГУШЕГИ", "КОЛЛАЙДРЕ", "КОТЭ", "КРАБЕ", "КРЕО", "ЛЕОНИДЕ", "ЛУЧИ ПОНОСА", "МЖВЯЧНИ", "ОНОТОЛЕ", "ПЯНИ", "ОТАКЕ!!!!1111", "ОЯЕБУ", "ПЕПЯКА", "ПЕПЯКОДЭНС", "ПЕПЯКОМЭН", "ПОПЯЧТСА", "ПОТС ЗОХВАЧЕН", "ПРДУНЬ-ПРДУНЬ", "ПТСО", "ПЫЩЬ!!!!111одинодин1", "РАЗУПЛОТНЕНИЕ", "РАЗРАЗИ МЕНЯ КРОТЫ", "РИАЛЬНИ", "САКИРМАХРЕПЯКА", "СКОЛОПЕНДРЕ", "СМОТРИ БАЛЕТ, СУКА!1", "СУЧЕЧКЕ", "С. Р. У!!!", "СТОПИЦОТ", "ТУПАК", "ТУТСЯ", "УГ", "ХУРЬ", "ХУЙС", "ЧАКЕ", "ЧОЧО", "ЧОЧОЧКИ", "ЧПЯКИ-ЧПЯКИ", "ШМЕЛЕ", "ЩАЧЛО КАРПА", "ЭЕКСТЕЛР ТЫЕОЙ ЯЕБАНЕЙУ КОТУ", "GSOM", "ЧЯПЬ-ЧЯПЬ", "ЪЖСЛО", "ЪЕЧОЖЖА", "ЪПРШУТЕ", "ЬШТУК", "ШТЫРНЕ", "ЯСХИЩАЧУ", "ГЪЛБЬ", "СГОМОНЬ", "JEPEBRILO", "АБЗЪДУКА", "АНГАНАСЕ", "АНТИКРАБЕРИАЛЬНЕ ЪМЛО", "БЖНИ", "БЖНИНА", "БЖНЬТУКИ", "БЛЪВАРИЯ", "БЪРЩЕ", "ВЪРДКЭ", "ГЖЪН’КИ", "ГАЗОДОРЫЖНИ", "ЖВЯЧНИ", "ЖРАЧНЕ", "ЖУЙЧНИ", "ЖЪРЧИК", "ЖЛЯЦНИ", "КВИТКИ ПИЖМЫ", "КРАКЛЕ", "МЕНСТО", "МРАЗЬ", "МУРА", "МЭБЛНИ", "НОКЛА", "ОГУДОРОПОМИРЕЦ", "ПДКЯЖЦЫ", "ПРЯСНО СВИНСКО", "ПЪДГРЪЗНИ", "ПЪРЖОЛИ", "ПЫЩИНЪ", "КВАСОЭ", "ПЯНИ", "РЪГАЕЛЛО", "СГУЩНИ МОЛОЛО", "СКЛИВЗЧНЕ МАСЛОЭ", "СТРИТ ФАЙТРЕ", "СЪРНЕ", "ТЪШНИК", "ХЛЯПНИ", "LЪЙS", "ЧИСПЫ", "ЧЯПИЙ", "ЩЯЩЬ-ЩЯЩЬ", "ШТЫРНЕ", "ЪТСО", "ЪПШРОТЭ", "ЫРЧНИ"]
    def upchka(u, sigma, words=100):
        res = []
        for word in [random.choice(UPCHK) for _ in range(words)]:
            res += [word for _ in range(max(abs(int(random.normalvariate(u, sigma))), 1))]
        return ' '.join(res)
    
    upchka(1, 3, 100)

    ЖЕПЬ ЕБРИЛО ЖЕПЬ ЕБРИЛО ЩАЧЛО КАРПА ПЫЩЬ!!!!111одинодин1

    gost, 11 Декабря 2019

    Комментарии (55)
  8. Куча / Говнокод #26089

    −4

    1. 1
    2. 2
    Чем лучше реверсить бинарник под ARM (armv5te)? Желательно бесплатно и опенсорс
    Пробовал Ghidra, оно нормально структуры не определяет

    a0a1, 11 Декабря 2019

    Комментарии (41)
  9. PHP / Говнокод #26087

    −3

    1. 1
    2. 2
    Официальный тред для обсуждения способов высера видеоизображения на телеящик.
    Один калмент -- один способ

    Официальный тред для обсуждения способов высера видеоизображения на телеящик.
    Один калмент -- один способ

    MAPTbIwKA, 11 Декабря 2019

    Комментарии (52)
  10. Java / Говнокод #26086

    −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
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    // https://cdn.staticaly.com/gh/landawn/abacus-util/master/docs/MutableBoolean_view.html
    // https://github.com/landawn/abacus-util/blob/76cb7c712d4ce2d167f9170f8d92fd9857db8f99/src/main/java/com/landawn/abacus/util/MutableBoolean.java
    
    public final class MutableBoolean implements Mutable, Serializable, Comparable<MutableBoolean> {
        /**
         * Constructs a new MutableBoolean with the default value of false.
         */
        MutableBoolean() {
            super();
        }
    
        /**
         * Constructs a new MutableBoolean with the specified value.
         * 
         * @param value the initial value to store
         */
        MutableBoolean(final boolean value) {
            super();
            this.value = value;
        }
    
        /**
         *
         * @param value
         * @return
         */
        public static MutableBoolean of(final boolean value) {
            return new MutableBoolean(value);
        }
    
        /**
         *
         * @return true, if successful
         */
        public boolean value() {
            return value;
        }
    
        /**
         * Sets the value.
         * 
         * @param value the value to set
         */
        public void setValue(final boolean value) {
            this.value = value;
        }
    }

    Тут человек изменяемый булеан сделал, что думаете? Функциональное программирование уже проиграло ООП?

    Fike, 11 Декабря 2019

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