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

    −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
    // вообще, есть одна говнистая особенность сишки:
    // нельзя вернуть из функции массив хуйпойми какой длины, выделив память чисто на стеке
    // Вот например:
    
    char *a_ret (size_t len)
    {
      char *ret = alloca(len);
      memset(ret, 'a', len);
      return ret; // так нельзя
    }
    
    // т.е. надо делать как-нибудь вот так
    char *a_ret (size_t len)
    {
      char *ret = malloc(len);
      if (ret == NULL)
      {
        exit(ENOMEM);
      }
      memset(ret, 'a', len);
      return ret;
    }

    Но это ж на самом-то деле говно какое-то. Дергать аллокаторы какие-то, ради каких-то мелких кусков байтиков.
    Почему не сделать хуйни, чтоб вызываемая функция как бы приосталавливалась и просила ту функцию, которая ее вызывает, чтоб она вот такой-то alloca() сделала нужного размера в своем стекфрейме, а потом туда вот та вызванная функция байтики уже вхерачивала? Ну т.е. можно сделать отдельный свой стек для локальных переменных тех функций, которые должны уметь такую хуйню делать (т.е. просить вызвавшую их функцию "а сделай ка там себе alloca(123) и дай мне указатель, а я в него насру")
    Вообще хуйня какая-то, сишка слишком сильно сковывает всякой своей хуйней, соглашениями вызовов, всякими ABI там. То ли дело ассемблер!

    j123123, 15 Мая 2019

    Комментарии (93)
  2. PHP / Говнокод #25601

    0

    1. 1
    https://whatthecommit.com/index.txt

    коооо

    DypHuu_niBEHb, 15 Мая 2019

    Комментарии (9)
  3. Куча / Говнокод #25600

    +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
    ### WindowsSpyBlocker - Hosts spy rules
    ### License: MIT
    ### Updated: 2019-03-02T02:05:00Z01:00
    ### More info: https://github.com/crazy-max/WindowsSpyBlocker
    
    0.0.0.0 a.ads1.msn.com
    0.0.0.0 a.ads2.msads.net
    0.0.0.0 a.ads2.msn.com
    0.0.0.0 a.rad.msn.com
    0.0.0.0 ac3.msn.com
    0.0.0.0 activity.windows.com
    0.0.0.0 adnexus.net
    
    ...
    
    0.0.0.0 watson.live.com
    0.0.0.0 watson.microsoft.com
    0.0.0.0 watson.ppe.telemetry.microsoft.com
    0.0.0.0 watson.telemetry.microsoft.com
    0.0.0.0 web.vortex.data.microsoft.com
    0.0.0.0 wes.df.telemetry.microsoft.com
    0.0.0.0 win10.ipv6.microsoft.com
    0.0.0.0 win1710.ipv6.microsoft.com
    0.0.0.0 win8.ipv6.microsoft.com
    0.0.0.0 www.msedge.net

    https://github.com/crazy-max/WindowsSpyBlocker/blob/master/data/hosts/spy.txt

    Как вообще дошло до того, что появилась необходимость защищать личную инфу от системы на которой она находиться?

    govnokod3r, 14 Мая 2019

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

    +2

    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
    #include <conio.h>
    
    static unsigned char bigArray[256] = {['0'] = 0, ['1'] = 1, ['2'] = 2, ['3'] = 3,
                                          ['4'] = 4, ['5'] = 5, ['6'] = 6, ['7'] = 7,
                                          ['8'] = 8, ['9'] = 9, ['A'] = 10, ['B'] = 11,
                                          ['C'] = 12, ['D'] = 13, ['E'] = 14, ['F'] = 15 };
    void StringToByte(const char src[], unsigned char dst[]) 
    {
    	int q, u = 0;
    	for (q = 0; src[q]; q+=2) 
    	{
    		dst[u] = bigArray[src[q]] << 4;
    		if (!src[q+1]) 
    			return;
    		dst[u++] |= bigArray[src[q+1]];
    	}
    }
    
    int main()
    {
    	char string[] = "112255ACBF";
    	unsigned char bytes[5];
    	StringToByte(string, bytes);
    	int i;
    	for (i = 0; i!=sizeof(bytes); i++)
    		printf("%x ", (int)bytes[i]);
    	return 0;
    }

    Ебическая С-ла.

    Psionic, 13 Мая 2019

    Комментарии (93)
  5. Куча / Говнокод #25597

    −103

    1. 1
    Не буду я больше воровать сперму.

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

    CnEPMOBOP, 11 Мая 2019

    Комментарии (41)
  6. Си / Говнокод #25596

    −1

    1. 1
    // Чому можливо писати "2[i]" а можливо i "i[2]"?

    а?

    DypHuu_niBEHb, 10 Мая 2019

    Комментарии (41)
  7. Куча / Говнокод #25595

    0

    1. 1
    2. 2
    Товарищ главный петух,
    Военный петух к проведению парада готов.

    BoeHHblu_nemyx, 08 Мая 2019

    Комментарии (179)
  8. JavaScript / Говнокод #25594

    +5

    1. 1
    2. 2
    3. 3
    #vCardRoom > div.v-card__text > div > div > form > div > div.flex.xs12 > div > div > div.v-text-field__details > div > div > div {
        font-size: 16px;
    }

    anuxa, 07 Мая 2019

    Комментарии (37)
  9. Си / Говнокод #25593

    +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
    #define paehal int i = 0; char arr[30000]; memset(arr, 0, sizeof(arr));
    #define go i++;
    #define  nozad i--;
    #define plusegg arr[i]++;
    #define minusegg arr[i]--; 
    #define vivodeg putchar(arr[i]);	
    #define tipavhile while(arr[i]){	
    #define nevhile }
    int main() {
    setlocale(0, "");
    paehal
    plusegg plusegg plusegg plusegg plusegg tipavhile plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg  go nozad minusegg nevhile go vivodeg go plusegg plusegg plusegg tipavhile go plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg go minusegg nevhile go vivodeg 
    return 0;
    }

    брайнфак на минималках
    выводит a!

    pozhiloy, 07 Мая 2019

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

    0

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

    Задача кода - установить текстовое представление документа в надписи на форме, для этого автор сначала получает номер требуемого документа, потом проверяет выборку на наличие записей, а потом по полученному номеру ищет ссылку методом НайтиПоНомеру.
    Говнокод в том, что:
    1. Ссылку можно получить сразу же в запросе
    2. Выгружать выборку в коллекцию значений нет никакой необходимости, можно всё необходимое взять из выборки, она для этого и предназначена.
    Автор - один из франей Абакана.

    VladC, 07 Мая 2019

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