1. Си / Говнокод #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)
  2. Си / Говнокод #17674

    +101

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

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

    refactor, 20 Февраля 2015

    Комментарии (39)
  3. Си / Говнокод #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)
  4. Си / Говнокод #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)
  5. Си / Говнокод #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)
  6. Си / Говнокод #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)
  7. Си / Говнокод #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)
  8. Си / Говнокод #17635

    +142

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

    прикольное legacy

    cerevra, 13 Февраля 2015

    Комментарии (14)
  9. Си / Говнокод #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)
  10. Си / Говнокод #17590

    +109

    1. 1
    memcpy (stderr, stdout, sizeof (FILE));

    gpr, 06 Февраля 2015

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