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

    +20.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
    year = ORIGINYEAR; /* = 1980 */
    
    while (days > 365)
    {
        if (IsLeapYear(year))
        {
            if (days > 366)
            {
                days -= 366;
                year += 1;
            }
        }
        else
        {
            days -= 365;
            year += 1;
        }
    }

    Код часов в M$ Zune 30GB.

    guest, 01 Января 2009

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

    +15.3

    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
    #define begin {
    #define end   }
    
    ....
    
    //==================================
    // put a big character on the screen
    // c is index into bitmap
    void video_putchar(char x, char y, char c)  
    begin 
        v7 = x;
        for (v6=0;v6<7;v6++) 
        begin
            v1 = bitmap[c][v6]; 
            v8 = y+v6;
            ...
        end
    end

    паскалист пишет на си

    guest, 31 Декабря 2008

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

    +10.8

    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
    // собственно заполнение
    for (i = pdir ? old_end_y : old_end_x; i != pdir ? (sel_end_y + gstep) : (sel_end_x + gstep); i++)
    {
      if (cells[pdir ? sel_x : i][pdir ? i : sel_y])
        freemem(cells[pdir ? sel_x : i][pdir ? i : sel_y]);
      if (is_arith)
      {
        cells[pdir ? sel_x : i][pdir ? i : sel_y] = ftoa(arith_first);
        arith_first += arith_step;
      }
      else
      {
      if (cells[sel_x][sel_y])
      {
        cells[pdir ? sel_x : i][pdir ? i : sel_y] = (char*)allocmem(strlen(cells[sel_x][sel_y]) + 1);
        strcpy(cells[pdir ? sel_x : i][pdir ? i : sel_y], cells[sel_x][sel_y]);
      }
    }

    Индус помешался на тернарной операции.

    guest, 31 Декабря 2008

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

    +17.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    for (i = 0; i<sizeof(n)*4; i++) 
    { 
    	if ((((n>>(2*i))&1==1)&&((n>>(2*i+1))&1==0)))
    	{
    		n|=(1<<(2*i));
    		n&=~(1<<(2*i+1));
    	}
    else if ((((n>>(2*i))&1==0)&&((n>>(2*i+1))&1==1)))
    	{
    		n|=(1<<(2*i+1));
    		n&=~(1<<(2*i));
    	}

    Нечто вроде циклического сдвига вправо на Си.

    guest, 31 Декабря 2008

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

    +18.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if( strncmp("ERROR: Unable to service request",msg.data, strlen("Unable to service request")) == 0 )
        return 1;
     if( strncmp("ERROR: (201) Unable to service request",msg.data, strlen("(201) Unable to service request")) == 0 )
        return 1;
     if( strncmp("ОШИБКА: (201) Невозможно обработать запрос.",msg.data, strlen("(201) Невозможно обработать запрос.")) == 0 )
        return 1;
     if( strncmp("ERROR: (201) Невозможно обработать запрос",msg.data, strlen("(201) Невозможно обработать запрос.")) == 0 )
       return 1;

    guest, 30 Декабря 2008

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

    +14.2

    1. 1
    printf("%c%c%c%c",a,*(&a+1),*(&a+2),*(&a+3));

    выводим long int побайтово в бинарном виде :)

    guest, 22 Декабря 2008

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

    +6.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
    do {
    XLoop: 
        XNextEvent(dpy,&event);
        switch(event.type) {
          case ResizeRequest:
            if (event.xresizerequest.window!=win_main)
              goto XLoop;
    resize_main:
            xswa.event_mask&= ~ResizeRedirectMask;
            XChangeWindowAttributes(dpy,win_main,CWEventMask, &xswa);
            XSync(dpy,0); /* very important, otherwise we loop endlessly ! */
            XResizeWindow(dpy, win_main,event.xresizerequest.width,event.xresizerequest.height);
            XSync(dpy,0); /* very important, otherwise we loop endlessly ! */
            xswa.event_mask|= ResizeRedirectMask;
            XChangeWindowAttributes(dpy,win_main,CWEventMask, &xswa);
            resize=1;
            XSync(dpy,0); /* another one, just in case... */
            goto redisplay;
    
          case Expose:
    	if (event.xexpose.count|moving_button1|vmoving_button)
    	  goto XLoop;
    .....// и дальше такой же хрени типа нарисовать и goto XLoop; :)

    Однако под X11 пишут и так:

    guest, 13 Декабря 2008

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

    +29

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    int main ()
    {{{
        
        return 0;
    }}}

    Я любил делать так... От этого хуже работать не будет, но вызывает вопросительное выражение лица.

    guest, 12 Декабря 2008

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

    −11.9

    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
    void safecpy(char *str1, char *str2)
    {
    	strncpy(str1, str2, strlen(str1));
    	str1[strlen[str1]] = 0;
    }
    
    ...
    
    void safecpy(char *str1, char *str2)
    {
    	strncpy(str1, str2, sizeof(str1));
    	str1[sizeof(str1)] = 0;
    }

    Две примера функций \"безопасного\" копирования строк :-)

    guest, 12 Декабря 2008

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

    −11.7

    1. 1
    2. 2
    /* add '\0' at the end */
    targetIPString[strlen(targetIPString)] = '\0';

    guest, 10 Декабря 2008

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