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

    +147

    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
    789 static LPWSTR concatenate_string_list( LPCWSTR *list, int len )
     790 {
     791     LPCWSTR *t;
     792     LPWSTR str;
     793 
     794     for( t = list; *t ; t++  )
     795         len += strlenW( *t );
     796     len++;
     797 
     798     str = heap_alloc( len * sizeof(WCHAR) );
     799     if (!str) return NULL;
     800     *str = 0;
     801 
     802     for( t = list; *t ; t++ )
     803         strcatW( str, *t );
     804 
     805     return str;
     806 }

    говно от разработчиков wine "http://source.winehq.org/git/wine.git/blob/f4c2317adc44626cefab8d97ba4cc955f29a42a1 :/dlls/winhttp/request.c"
    ребята не знают о существовании StrCatChain или StringCchCatEx
    и никогда не читали Джоэл Сполски про маляра Шлемеля
    "http://www.gnuman.ru/joel/Nazad_k_osnovam/"

    Запостил: 80ab88005a044331, 04 Сентября 2011

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

    • мне бы было стыдно выкладывать такой код на всеобщее обозрение поэтому и не смог пройти мимо такого говнеца
      Ответить
      • Мне кажется, что у M$ еще хуже..)
        Ответить
        • Существование такой кучи функций (StrCat, StrCatBuff, StrCatChain, StringCbCatEx, StringCbCatNEx, StringCchCatEx, StringCchCatNEx) как бы намекает нам.
          Ответить
          • Это как бы намекает нам, что писать на Си очень больно, потому что, в отличие от многих популярных языков, в нём отсутствует конкатенация строк.
            Ответить
            • А вот автор говнокода пишет на Си так, словно бы конкатенация в нём есть.
              Ответить
            • > в нём отсутствуют строки.
              fixed
              Ответить
          • А StringCCCatch там нету?
            Ответить
    • добротное говно. плюсанул
      Ответить
    • На самом деле вполне возможно, что тут есть некий сакральный смысл.

      Задача Wine - не корректный код, а точное воспроизведение поведения WinAPI. Со всеми прилагающимися багами и неочевидностями.
      Ответить
      • Воспроизводство тормозов - тоже нужно?
        Ответить
      • по вашему воспроизведение печального дизайна возможно только говнокодом?

        так ребята наплодят новых багов и неочевидностей, не включенных в оффициальную поставку виндоус.

        а про сокральный смысл - это в похапе.
        Ответить
        • какой "сокральный" смысл в похапе?
          Ответить
          • так сокральный смысл он только в похапэ и есть.

            духовное измерение похапе-кодеров императивно выраженное в копипасте турториалов, попытках разобраться с датами и прочих замечательных велосипедах.

            а чтобы в скалу или тот-же лисп - тут уже думать надо.
            Ответить
            • тут какое только угодно измерение -- хоть пивное, но явное не духовное, если чел учится по форумам, и не утруждает чтением манов.
              Ответить
              • почему же не духовное?

                ума нет, зато душа широкая.
                Ответить
                • скорее, дело не в отсутствии ума, а нежелании его развивать
                  Ответить
                  • дело не в отсутствии ума, а в том, что к большинству похапэ кода (особенно выложенного тут) он не имеет никакого отношения.

                    а раз не умом, так духом. поэтому и смысл - сакральный ^W сокральный.
                    Ответить
    • >ребята не знают о существовании StrCatChain
      гугл тоже не знает, ссылки ведут на этот пост и на пару тёмных сайтов.
      Ответить
    • показать все, что скрытоvanished
      Ответить

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