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

    +139

    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
    int x = 0;
    	for (i = 4; i <= 31; i++ && x++)
    		if (code.l & (1 << i))
    		  {
    		    if (x == 0)
    		      {
    			info.bios_info->characteristics = (char**) malloc (sizeof (char*));
    			info.bios_info->characteristics[x] = characteristics[i-3];
    		      }else
    		      {
    		        realloc (info.bios_info->characteristics, (sizeof(char*) * x));
    			info.bios_info->characteristics[x] = characteristics[i - 3];
    		      }
    		  }

    realloc и массив указателей типа char*

    http://www.linux.org.ru/forum/development/6786393

    Запостил: sayidandrtfm, 25 Сентября 2011

    Комментарии (19) RSS

    • эта штука с биосом работает? страх какой
      Ответить
      • показать все, что скрытооткуда в биосе реаллок? миннус.
        Ответить
        • Предполагаю так: программа работает в юзермоде и собирает инфо о системе в целом. Данный фрагмент - запись/перезапись уже имеющейся информации(как и каким образом полученной — не суть).
          А дабы развеять сомнения обратитесь к … впрочем, ссылку-источник указал.
          Ответить
    • страшно жить %)
      Ответить
    • показать все, что скрытоОбратите внимание, что в 8й строке написано
      i-3

      , а в 12й
      i - 3

      Очередная невнимательность, которыми просто изобилует язык Си.
      Ответить
      • о, да ... модифицированная пробелами копипаста. Причем тут невнимательность? И невнимательность кого?
        Ответить
        • Невнимательность программиста. Это большой минус Си, что он допускает невнимательность программиста. Ведь невнимательность программиста может привести к серьёзным последствиям.
          Ответить
        • Уже таки загляните сюда http://www.linux.org.ru/forum/development/6786393
          Ответить
          • заглядывал, я не пойму связи между "i-3"|"i - 3" и "невнимательность".
            Ответить
            • > я не пойму связи между "i-3"|"i - 3"
              Её и НЕТ.
              С -троллинг не прошёл, а Тарас всё поправляется, килограммы набирает...
              Ответить
              • >килограммы набирает...
                калограммы, скорее всего
                Ответить
      • Бида! Но в паскале же нельзя так написать, будет ошибка компиляции, верно?
        Ответить
    • К тому же банальный расстрел памяти при x > 0.
      Ответить
    • Ух ты, я уже на говнокоде. http://github.com/inish777/HardInform еще найдете.
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий