Кресты / Говнокод #26953 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
uint64_t stored_msg_id = _container_msg_id.get(ctrl_msg.sequence); // Получаем msg_id из мапы для связки сообщений
if (stored_msg_id)
    proto_fill(ctrl_msg, stored_msg_id); // если он там был то новому сообщению даем этот msg_id
else
    proto_fill(ctrl_msg);  // Иначе формируем новый msg_id

// Отсылаем сообщение 
...

// Если msg_id не был в _container_msg_id то произойдет попытка вставки msg_id полученного через proto_fill.
if (!stored_msg_id && !_container_msg_id.insert(ctrl_msg.sequence, ctrl_msg.msg_id))
{
    DEBUG(L, 0, "[%p] Can't store request's control message id (%llu) in bunch map" \
                ", response's msg_id will differ", this, msg.msg_id);
}

С точки зрения читабельности кода, в последнем ветвлении говнокод?

OlegUP OlegUP, (Updated )

Комментарии (26, +26)

Куча говна / Говнокод #26952 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
Хрюкни #6
             ._     __,
              |\,../'\
            ,'. .     `.
           .--         '`.
          ( `' ,          ;
          ,`--' _,       ,'\
         ,`.____            `.
        /              `,    |
       '                \,   '
       |                /   /`,
       `,  .           ,` ./  |
       ' `.  ,'        |;,'   ,@
 ______|     |      _________,_____jv______
        `.   `.   ,'
         ,'_,','_,
         `'   `'

#1: (vanished) https://govnokod.xyz/_26863
#2: (vanished) https://govnokod.xyz/_26868
#3: https://govnokod.ru/26881 https://govnokod.xyz/_26881
#4: https://govnokod.ru/26896 https://govnokod.xyz/_26896
#5: https://govnokod.ru/26928 https://govnokod.xyz/_26928

nepeKamHblu_nemyx nepeKamHblu_nemyx, (Updated )

Комментарии (192, +192)

Няшная / Говнокод #26951 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
#include <stdio.h>
#include <csptr/smart_ptr.h>
#include <csptr/array.h>

void print_int(void *ptr, void *meta) {
    (void) meta;
    // ptr points to the current element
    // meta points to the array metadata (global to the array), if any.
    printf("%d\n", *(int*) ptr);
}

int main(void) {
    // Destructors for array types are run on every element of the
    // array before destruction.
    smart int *ints = unique_ptr(int[5], {5, 4, 3, 2, 1}, print_int);
    // ints == {5, 4, 3, 2, 1}

    // Smart arrays are length-aware
    for (size_t i = 0; i < array_length(ints); ++i) {
        ints[i] = i + 1;
    }
    // ints == {1, 2, 3, 4, 5}

    return 0;
}

Allocating a smart array and printing its contents before destruction.

C Smart Pointers

What this is
This project is an attempt to bring smart pointer constructs to the (GNU) C programming language.

Features: unique_ptr, shared_ptr macros, and smart type attribute

https://github.com/Snaipe/libcsptr

3.14159265 3.14159265, (Updated )

Комментарии (1, +1)

Куча говна / Говнокод #26949 Ссылка на оригинал

0

  1. 1
IT Оффтоп #60

#32: https://govnokod.ru/26440 https://govnokod.xyz/_26440
#33: https://govnokod.ru/26449 https://govnokod.xyz/_26449
#34: https://govnokod.ru/26456 https://govnokod.xyz/_26456
#35: https://govnokod.ru/26463 https://govnokod.xyz/_26463
#36: https://govnokod.ru/26508 https://govnokod.xyz/_26508
#37: https://govnokod.ru/26524 https://govnokod.xyz/_26524
#38: https://govnokod.ru/26539 https://govnokod.xyz/_26539
#39: https://govnokod.ru/26556 https://govnokod.xyz/_26556
#40: https://govnokod.ru/26568 https://govnokod.xyz/_26568
#41: https://govnokod.ru/26589 https://govnokod.xyz/_26589
#42: https://govnokod.ru/26600 https://govnokod.xyz/_26600
#43: https://govnokod.ru/26604 https://govnokod.xyz/_26604
#44: https://govnokod.ru/26627 https://govnokod.xyz/_26627
#45: https://govnokod.ru/26635 https://govnokod.xyz/_26635
#46: (vanished) https://govnokod.xyz/_26646
#46: (vanished) https://govnokod.xyz/_26654
#47: https://govnokod.ru/26671 https://govnokod.xyz/_26671
#48: https://govnokod.ru/26707 https://govnokod.xyz/_26707
#49: https://govnokod.ru/26750 https://govnokod.xyz/_26750
#49: https://govnokod.ru/26776 https://govnokod.xyz/_26776
#50: https://govnokod.ru/26804 https://govnokod.xyz/_26804
#51: https://govnokod.ru/26809 https://govnokod.xyz/_26809
#52: https://govnokod.ru/26817 https://govnokod.xyz/_26817
#53: https://govnokod.ru/26833 https://govnokod.xyz/_26833
#54: https://govnokod.ru/26840 https://govnokod.xyz/_26840
#55: https://govnokod.ru/26844 https://govnokod.xyz/_26844
#56: https://govnokod.ru/26862 https://govnokod.xyz/_26862
#57: https://govnokod.ru/26890 https://govnokod.xyz/_26890
#58: https://govnokod.ru/26916 https://govnokod.xyz/_26916
#59: https://govnokod.ru/26934 https://govnokod.xyz/_26934

nepeKamHblu_nemyx nepeKamHblu_nemyx, (Updated )

Комментарии (79, +79)

"PHP" / Говнокод #26948 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
public function getFlagCode()
{
    $code = $this->_storeManager->getStore()->getCode();

    switch ($code) {
        case 'us':
            return 'us';
            break;
        case 'eu':
            return 'eu';
            break;
        default;
            return 'ww';
    }
}

denistrator denistrator, (Updated )

Комментарии (6, +6)

Кресты / Говнокод #26946 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
foreach ($files as $n => $f) {
    $new_content = $common.$namespace_begin.$f.$namespace_end;

    $std_methods = array();
    preg_match_all('/std::[a-z_0-9]*/', $new_content, $std_methods);
    $std_methods = array_unique($std_methods[0]);

    $needed_std_headers = array();
    $type_headers = array(
        'std::move' => '',
        'std::vector' => '',
        'std::string' => '',
// [...]
        'std::unordered_set' => 'unordered_set');
    foreach ($type_headers as $type => $header) {
        if (in_array($type, $std_methods)) {
            $std_methods = array_diff($std_methods, array($type));
            if ($header && !in_array($header, $needed_std_headers)) {
                $needed_std_headers[] = $header;
            }
        }
    }

    if (!$std_methods) { // know all needed std headers
        $new_content = preg_replace_callback(
            '/#include <([a-z_]*)>/',
            function ($matches) use ($needed_std_headers) {
                if (in_array($matches[1], $needed_std_headers)) {
                    return $matches[0];
                }
                return '';
            },
            $new_content
        );
    }

Тут вот в https://govnokod.ru/20049 CHayT предлагал использовать «PHP» в качестве препроцессора для «C» — так вот в «Телеграме» совет оценили и решили взять на вооружение.
https://github.com/tdlib/td/blob/master/SplitSource.php

gost gost, (Updated )

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