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

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    INTCONbits.GIEH=0;
      if(sec_10==0){sec_10=sec_10_=1;}
      sec_10=sec_10_;__sec_10=__sec_10_;
      INTCONbits.GIEH=1;

    фигня, конечно, но это мануальный обфускатор. И такие фени конечно по всему коду.

    guest, 25 Мая 2009

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

    +149

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    bool is_hamm(int n)
    {
         return !(n%2) || !(n%3) || !(n%5);
    };
    
    void print_next_10(int n)
    {
        int i, k;
        i = k = 0;
        while (k < n ? ((is_hamm(i) ? k++ : 0), ++i) : k < (n + 10) ? ((is_hamm(i) ? printf("%d ", i, ++k) : 0), ++i) : 0);
    };

    Программа выводит последовательность Хэмминга (числа что деляться только на 2, 3 или 5) начиная с n-го члена.

    guest, 21 Мая 2009

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

    +103.5

    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
    boolean get_UI_Win(...);
    ....
    boolean retVal = get_UI_Win (...);
    
    switch( retVal )
    {
      case FALSE:
        ....
        return FALSE;
    
      case TRUE:
        ....
        return TRUE;
    
      case  PRIVACY:
        ....
        return PRIVACY;
    
      default:
        return FALSE;
    }

    Индийские коллеги прислали на ревью этот код. Видимо у них свой bool, с блекджеком и шлюхами.

    guest, 04 Мая 2009

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

    +133.5

    1. 1
    #define TRUE __LINE__

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

    guest, 24 Апреля 2009

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

    +137

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

    no comments

    guest, 22 Апреля 2009

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