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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    include <stdio.h>
    int main()
    {
        unsigned char a;
         a='Я';
         printf("\n%c=%d",a,a);
         return 0;
    }

    guest, 27 Апреля 2009

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

    +133.5

    1. 1
    #define TRUE __LINE__

    Тонкая версия #define TRUE чего-то-там.
    __LINE__ во многом будет вести себя как нормальный TRUE, выстрелит при применении оператора ==

    guest, 24 Апреля 2009

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

    +137

    1. 1
    2. 2
    3. 3
    void main(void)
    {
    }

    no comments

    guest, 22 Апреля 2009

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

    +146

    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
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    #include <stdio.h>
    #include <ctype.h>
    
    unsigned int wordsCount(const char *str);
    
    int main(int argc, char *argv[]) {
    	char *chr;
    	if(argc != 2)
    		return 255;
    
    	puts(argv[1]);
    
    	if(wordsCount(argv[1]) > 1) {
    		chr = argv[1];
    		while(*chr) {
    			if (*chr == '*')
    				*chr = '3';
    			
    			if (*chr == '+')
    				*chr = '1';
    
    			if (*chr == '-')
    				*chr = '2';
    
    			chr++;
    		}
    	}
    	puts(argv[1]);
    	
    	return 0;
    }
    
    unsigned int wordsCount(const char *str) {
    	unsigned int wordsCount = 0;
    	char isWord = 0;
    
    	while(*str) {
    		if(isalpha(*str)) {
    			isWord = 1;
    		} else if(isWord) {
    			wordsCount++;
    			isWord = 0;
    		}
    		str++;
    	}
    	
    	if(isWord)
    		wordsCount++;
    
    	return wordsCount;
    }

    guest, 21 Апреля 2009

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    for (j = 0; j < MAX_NAME; j++) {
    		i = name[j];
    		if (i >= 'a' && i <= 'z')
    			i &= 0x5F;
    		mash->host_name[j] = i;
    		if (i == 0)
    			break;
    	}

    Перевод строки в верхний регистр в самопальном сетевом протоколе

    guest, 09 Апреля 2009

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

    +135.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Xgetc(fp); /* the extension code */
    	for ( i = Xgetc(fp); i > 0; i-- ) Xgetc(fp);
    	while ( ( i = Xgetc(fp) ) > 0 ) {
    	  for ( i = i ; i > 0; i-- ) Xgetc(fp);
    	}

    Кусок из whirlgif - whirlgif.c

    * This program reads in a sequence of single-image Gif format files and
    * outputs a single multi-image Gif file, suitable for use as an animation.

    Поубивал бы!

    guest, 01 Апреля 2009

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

    +142

    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
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    case MOTO_ACCY_IOCTL_SET_CHARGER_LOAD_LINE:
                /* Copy the load line setting from user space */
                retval = copy_from_user ((void *)&data, (void *)arg, sizeof(data));
    
                /* If the copy failed, return an error */
                if (retval != 0)
                {
                    retval = -EFAULT;
                }
    
                /* Else, configure the hardware for the requested load line setting */
                else
                {
                    /* Acquire the lock to prevent changes to connected_accessories */
                    spin_lock (&connected_lock);
    
                    /* Verify that the 3G fast charger is connected */
                    if (ACCY_BITMASK_ISSET(connected_accessories, MOTO_ACCY_TYPE_CHARGER_FAST_3G))
                    {
                        /* This charger is the only charger that supports an adjustable load line */
    
                        /* TBD */
                    }
    
                    /* Else, the appropriate charger type is not connected */
                    else
                    {
                        /* Return error: No such device */
                        retval = -ENODEV;
                    }
    
                    /* Release the lock for connected_accessories */
                    spin_unlock (&connected_lock);
                }
    
                break;

    guest, 01 Апреля 2009

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

    +145.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    индокод:
    #ifdef PRINT_DEBUG_INFO
    #define DBG_PRINT if(1) printf
    #else
    #define DBG_PRINT if(0) printf
    #endif

    Индокод - макрос для вкл-выкл дебажной печати.

    guest, 31 Марта 2009

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

    +139.5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if(strncmp(I_CUR->E98,"",sizeof("")-1) != 0)
    {
        /** Fehler **/
        ret=create_error(1,1,"",NULL,NULL);
        set_error_msgseg(-1,-1,"CUR",NULL," E98",-1);
        if (ret==FEHLER)
            return ret;
    }

    Генератор сорса для одного проекта в очень крупной конторе дает такой код, который должен сообщать об ошибке.

    Долго я удивлялся, что ошибок не появляется
    if(0 != 0)

    guest, 27 Марта 2009

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

    +133.6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    /* {{{ proto mixed array_reduce(array input, mixed callback [, int initial])
       Iteratively reduce the array to a single value via the callback. */
    ...
    
            if (ZEND_NUM_ARGS() > 2) {
                    ALLOC_ZVAL(result);
                    *result = **initial;
                    zval_copy_ctor(result);
                    convert_to_long(result); // SIC!
                    INIT_PZVAL(result);
            }
    ...

    Исходники PHP, array_reduce.

    Обнаружил http://antilamer.livejournal.com/269560.html

    guest, 23 Марта 2009

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