1. Си / Говнокод #18216

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if((pDir = opendir(pchPath)) != NULL)
    {
        strcpy(chBuffer, pchPath);
        strcat(chBuffer, "/");
        while((pTemp == NULL) && ((pDirent = readdir(pDir)) != NULL))
        {
            if(((pChar = strstr(pDirent->d_name, Info.pchFilePrefix)) == pDirent->d_name) &&
               ((pChar = strstr(pDirent->d_name, Info.pchFileExtension)) != NULL)  &&
               (pChar[strlen(Info.pchFileExtension)] == '\0'))
            {
                sprintf(strrchr(chBuffer, '/') + 1, "%s", pDirent->d_name);

    лаконичные программисты лаконично ходят по каталогам.

    Dummy00001, 21 Мая 2015

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    do
      { 
    ...
      } while ((strcmp(input,"") != 0)); /* till end of string */

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

    ivanria, 21 Мая 2015

    Комментарии (79)
  3. Си / Говнокод #18214

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    p_bmp280->calib_param.dig_P2 = (s16)(((
    (s16)((s8)a_data_u8[BMP280_PRESSURE_CALIB_DIG_P2_MSB]))
    << BMP280_SHIFT_BIT_POSITION_BY_08_BITS)
    | a_data_u8[BMP280_PRESSURE_CALIB_DIG_P2_LSB]);

    Требуется больше приведений

    из библиотеки для датчика давления BOSH280.
    PS s16 dig_P2;

    MiD, 21 Мая 2015

    Комментарии (7)
  4. PHP / Говнокод #18213

    +143

    1. 1
    <?php if (wp_list_categories('title_li=&echo=0&child_of='.$cat) != '<li class="cat-item-none">Рубрик нет</li>') { ?>

    Стопудово надёжное условие!

    barinbritva, 21 Мая 2015

    Комментарии (0)
  5. PHP / Говнокод #18211

    +142

    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
    // https://github.com/zendframework/zf1/blob/master/library/Zend/Form/Element.php#L1311
    
          /**
         * Remove a single validator by name
         *
         * @param  string $name
         * @return bool
         */
        public function removeValidator($name)
        {
            // code
            return $this;
        }

    hcy321, 21 Мая 2015

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

    −164

    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
    select top 1000
    		[ObjectType] = N'Scv',
    		[SourceCodeId] = d.[IDOBJ], 
    		[ParameterName] = N'DlitZamera',
    		[DateTime] = l1.[VALUEDATE], 
    		[Value] = l1.[PERIOD], 
    		[vValue] = NULL, [IsLive] = 1
    from tm_mn_c8_kust.[dbo].[Lg] as l1
    left join tm_mn_c8_kust.[dbo].[Lg] as l2 on (l1.IDOBJ=l2.IDOBJ and l1.ValueDATE<l2.ValueDATE)
    inner join tm_mn_c8_kust.[dbo].[TiiDat] as d on d.IDDAT = l1.IDOBJ
    where 	l1.TYPEOBJ=330 and 
    		l1.IDPAR=15 and
    		l2.ValueDATE is null

    Задание:
    Выбрать последнее добавленное значение из таблицы и заджойнить данные из другой таблицы

    Решение:
    Join таблицы с самой собой по условию l1.ValueDATE<l2.ValueDATE и взять только строки, которые не сростились :)
    (Строки 9 и 13)

    SatanicArmpit, 21 Мая 2015

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    ...
    GameItem* new_game_item = GetGameItem(id);
    bool flag = !new_game_item;
    if (flag)
    {
        new_game_item = new GameItem();
    }
    ...

    Меня больше всего поразило название локальной переменной new_game_item, которая чаще даже совсем не new. Но кого это волнует...

    pomahin, 20 Мая 2015

    Комментарии (1)
  8. PHP / Говнокод #18208

    +143

    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
    $find_email = $this->db_users->prepare("SELECT * FROM `users` WHERE `email` = :email");
    $find_email->execute(array(':email' => $user['email']));
    $row = $find_email->fetch(PDO::FETCH_ASSOC);
    if($row['id']) {
      $hash_passw = crypt($user['password'], $row['sault']);
      $auth = $this->db_users->prepare("SELECT * FROM `users` WHERE `email` = :email AND `password` = :hash_passw");
      $auth->execute(array(':email' => $user['email'],
    		                        ':hash_passw' => $hash_passw));
      $_row = $auth->fetch(PDO::FETCH_ASSOC);
      if($_row) {
        $auth_token = '$3a$'.sha1(date(dmY).time().$user['email']).'$';
        $auth = $this->db_users->prepare("UPDATE `users` SET `auth_token`=:auth_token, WHERE `email` = :email");
        $auth->execute(array(':auth_token' => $auth_token,
    		                          ':email' => $user['email']));
        $domain = $_SERVER['HTTP_HOST'];
        setcookie('authToken', $value, time()+3600, '', $domain, 1);	
        setcookie('hash', $value, time()+3600, '', $domain, 1);
        return true;

    Авторизация

    Dev_18, 20 Мая 2015

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

    +144

    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
    <!--Женская одежда Блузки-->
    				<?if($arResult["IBLOCK_SECTION_ID"] == 487 ):?> 
    				<table class="tproperty">
    	<tr><td class="tdproperty"><?=$arResult["PROPERTIES"]["SOSTAV"]["NAME"];?></td><td><?=$arResult["PROPERTIES"]["SOSTAV"]["VALUE"];?></td></tr>
    	<tr><td class="tdproperty" ><?=$arResult["PROPERTIES"]["TSVET"]["NAME"];?></td><td><?=$arResult["PROPERTIES"]["TSVET"]["VALUE"];?></td></tr>
    	<tr><td class="tdproperty" ><?=$arResult['PROPERTIES']['RAZMER']['NAME'];?></td><td><?=$arResult["PROPERTIES"]["RAZMER"]["VALUE"];?></td></tr>
    	<tr><td class="tdproperty" ><?=$arResult['PROPERTIES']['UPAKOVKA']['NAME'];?></td><td><?=$arResult["PROPERTIES"]["UPAKOVKA"]["VALUE"];?></td></tr>
    	<tr><td class="tdproperty"><?=$arResult['PROPERTIES']['POKROY']['NAME'];?></td><td><?=$arResult["PROPERTIES"]["POKROY"]["VALUE"];?></td></tr>
    	<tr><td class="tdproperty"><?=$arResult['PROPERTIES']['DLINNA_RUKAVA']['NAME'];?></td><td><?=$arResult["PROPERTIES"]["DLINNA_RUKAVA"]["VALUE"];?></td></tr>
    				</table>
    
    <!--Женская одежда Брючные костюмы-->
    				<?elseif($arResult["IBLOCK_SECTION_ID"] == 489 ):?> 
    <table class="tproperty">
    	<tr><td class="tdproperty"><?=$arResult["PROPERTIES"]["SOSTAV"]["NAME"];?></td><td><?=$arResult["PROPERTIES"]["SOSTAV"]["VALUE"];?></td></tr>
    	<tr><td class="tdproperty"><?=$arResult["PROPERTIES"]["TSVET"]["NAME"];?></td><td><?=$arResult["PROPERTIES"]["TSVET"]["VALUE"];?></td></tr>
    	<tr><td class="tdproperty"><?=$arResult['PROPERTIES']['RAZMER']['NAME'];?></td><td><?=$arResult["PROPERTIES"]["RAZMER"]["VALUE"];?></td></tr>
    	<tr><td class="tdproperty"><?=$arResult['PROPERTIES']['UPAKOVKA']['NAME'];?></td><td><?=$arResult["PROPERTIES"]["UPAKOVKA"]["VALUE"];?></td></tr>
    				</table>
    
    <!--Женская одежда Жакеты-->
    <?elseif($arResult["IBLOCK_SECTION_ID"] == 491 ):?> 
    <table class="tproperty" >
    	<tr><td class="tdproperty"><?=$arResult["PROPERTIES"]["SOSTAV"]["NAME"];?></td><td><?=$arResult["PROPERTIES"]["SOSTAV"]["VALUE"];?></td></tr>
    	<tr><td class="tdproperty"><?=$arResult["PROPERTIES"]["TSVET"]["NAME"];?></td><td><?=$arResult["PROPERTIES"]["TSVET"]["VALUE"];?></td></tr>
    	<tr><td class="tdproperty"><?=$arResult['PROPERTIES']['RAZMER']['NAME'];?></td><td><?=$arResult["PROPERTIES"]["RAZMER"]["VALUE"];?></td></tr>
    	<tr><td class="tdproperty"><?=$arResult['PROPERTIES']['UPAKOVKA']['NAME'];?></td><td><?=$arResult["PROPERTIES"]["UPAKOVKA"]["VALUE"];?></td></tr>
    	<tr><td class="tdproperty"><?=$arResult['PROPERTIES']['POKROY']['NAME'];?></td><td><?=$arResult["PROPERTIES"]["POKROY"]["VALUE"];?></td></tr>
    	<tr><td class="tdproperty"><?=$arResult['PROPERTIES']['DLINNA_RUKAVA']['NAME'];?></td><td><?=$arResult["PROPERTIES"]["DLINNA_RUKAVA"]["VALUE"];?></td></tr>
    </table>
    
    
    ........................................

    И так еще 900 строчек.... Как такие люди рождаются вообще? :)

    lscin, 20 Мая 2015

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

    −107

    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
    Процедура ПокрытияКодПокрытияОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка)
    Покрытия = ЭтаФорма.Покрытия;
    Количество = 0;
    Для Каждого СтрокаПокрытия из Покрытия Цикл 
    Если СтрокаПокрытия.КодПокрытия = Текст Тогда
    Количество = 1;
    КонецЕсли;
    КонецЦикла;
    
    
    Если Количество > 0 Тогда 
    ПоказатьОповещениеПользователя("Ошибка!",,"Такое покрытие уже присутствует в составе изделия", БиблиотекаКартинок.Ошибка);
    НеНайденоПокрытие = Истина;
    Возврат;
    КонецЕсли;
    
    
    НеНайденоПокрытие = Ложь;
    ЭлементыФормы.Покрытия.ТекущиеДанные.СвязьСПокрытиями = Неопределено;
    
    
    Если ЭлементыФормы.Покрытия.ТекущиеДанные <> Неопределено Тогда
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    | Покрытия.Ссылка,
    | Покрытия.НаименованиеПокрытия
    |ИЗ
    | Документ.Покрытия КАК Покрытия
    |ГДЕ
    | Покрытия.КодПокрытия = &КодПокрытия";
    
    
    Запрос.УстановитьПараметр("КодПокрытия", Текст);
    
    
    Результат = Запрос.Выполнить();
    
    
    ВыборкаДетальныеЗаписи = Результат.Выбрать();
    
    
    Если ВыборкаДетальныеЗаписи.Количество() > 0 Тогда
    ВыборкаДетальныеЗаписи.Следующий();
    ЭлементыФормы.Покрытия.ТекущиеДанные.СвязьСПокрытиями = ВыборкаДетальныеЗаписи.Ссылка;
    ЭлементыФормы.Покрытия.ТекущиеДанные.НаименованиеПокрытия = ВыборкаДетальныеЗаписи.НаименованиеПокрытия;
    Иначе
    ПоказатьОповещениеПользователя("Ошибка!",,"Не найдено введенное покрытие", БиблиотекаКартинок.Ошибка);
    ЭлементыФормы.Покрытия.ТекущиеДанные.СвязьСПокрытиями = Неопределено;
    ЭлементыФормы.Покрытия.ТекущиеДанные.НаименованиеПокрытия = Неопределено;
    НеНайденоПокрытие = Истина;
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры

    Моё творение. =)

    Startwar, 20 Мая 2015

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