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

    +137

    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
    #include <time.h>
    
    
    int rrand(int start, int end)
    {
    	int range=end-start+1;
    	int speed=1;
    	int base=0;
    	int rez=start;
    	if(range>200) speed=range/100;
    	while(range>=0)
    	{
    		srand(clock());
    		if(rand()%2) base=base+speed+1;
    		else base--;
    		rez=rez+base;
    		rez=(rez < start)? end-rez : rez;
    		rez=(rez > end)? (rez%end)+start : rez;
    		range=range-speed;
    	}
    	return rez;
    }

    случайные числа в определенном диапазоне...

    pl7ofit, 24 Февраля 2015

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

    +136

    1. 1
    2. 2
    for (j = 0; j < NUM_DMA_BUFFERS; j++)
            *(int *)dev->channel[0].virtDma[j] = 0x1235+j;

    ЯННП

    codemonkey, 23 Февраля 2015

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

    +101

    1. 1
    2. 2
    char buf[4096];
    *((char*)&buf[14]) = 0x30;

    Запись значения в массив (такой способ обращения к элементу массива тщательно соблюдается на протяжении всех 25000 строк кода проекта)

    refactor, 20 Февраля 2015

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

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /* The DNS spec is officially case-insensitive, but for those times when you
    *really* wanna see any and all discrepancies, by all means define this. */
    #ifdef ANAL
        if (strcmp (poop->name, hp->h_name) != 0) { /* case-sensitive */
    #else
        if (strcasecmp (poop->name, hp->h_name) != 0) { /* normal */
    #endif

    Из первой версии netcat'а.

    bormand, 17 Февраля 2015

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

    +138

    1. 1
    2. 2
    3. 3
    if (r_ptr->flags1 & (RF1_FEMALE)) my_strcpy(desc, "себя", max);
    else if (r_ptr->flags1 & (RF1_MALE)) my_strcpy(desc, "себя", max);
    else my_strcpy(desc, "себя", max);

    Может, я чего-то не понимаю?

    CYB3R, 15 Февраля 2015

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

    +140

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    GNET::ChatBroadCast::~ChatBroadCast(&cbc);
      }
      else if ( v9 > 9 && v9 == 14 )
      {
        v4 = this->roleid;

    Декомпилил тут игруху, а там такое в псевдокоде.

    DesmondHume, 14 Февраля 2015

    Комментарии (32)
  7. Си / Говнокод #17638

    +143

    1. 1
    2. 2
    3. 3
    char value[60] = {0};
    int data;
    snprintf(value, sizeof(value-1), "|%7u\n", data);

    coverity полагал что заменить sprintf на snprintf было бы безопаснее

    Yeiradohr, 13 Февраля 2015

    Комментарии (27)
  8. Си / Говнокод #17637

    +145

    1. 1
    2. 2
    char bStr[1000];
    strncpy(bStr, "  [\0", strlen("  [\0"));

    Потому что в man:
    Warning: If there is no null byte among the first n bytes of src, the string placed in dest will not be null terminated.

    Yeiradohr, 13 Февраля 2015

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

    +142

    1. 1
    2. 2
    #define PHYSICAL        unsigned long
    #define VIRTUAL         unsigned long

    прикольное legacy

    cerevra, 13 Февраля 2015

    Комментарии (14)
  10. Си / Говнокод #17609

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    int main(void)
    {
    	int a=0,b=1000;
    	int * p;
    	p=malloc(sizeof(int)*b-7); // уменьшаем выделяемую память на 7 байт, а почему оно не падает?
    	for(;a<b;a++) p[a]=a;
    	printf("%lu",sizeof(int)*b);
    	free(p);
    }

    а если убрать 8 байт то уже падает,что-то где-то округляется что-ли?

    pl7ofit, 10 Февраля 2015

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