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

    +141

    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
    char *toScan;
        unsigned int IP1, IP2, IP3, IP4, IPMask;
        if(argc > 1) {
            toScan = argv[1];
    
            if(sscanf(toScan, "%u.%u.%u.%u/%u", &IP1, &IP2, &IP3, &IP4, &IPMask) != 5) {
                puts("Error parsing arguments.");
                return -1;
            } else {
                if(IP1 > 255 || IP2 > 255 || IP3 > 255 || IP4 > 255 || IPMask > 32) {
                    puts("Incorrect values specified.");
                    return -2;
                } else {
                    baseIP |= IP1 & 0xFF;
                    baseIP |= ((IP2 << 8) & 0xFF00);
                    baseIP |= ((IP3 << 16) & 0xFF0000);
                    baseIP |= ((IP4 << 24) & 0xFF000000);
    
                    baseIP = ntohl(baseIP);
    
                    intCountIP = (unsigned long) pow(2, 32-IPMask);
                    //printf("Total IP's: %u\n", countIP());
                }
            }
        } else {
            return -1;
        }

    Парсинг аргументов из одного сетевого сканера. Программа выявляет выключенные хосты в указанной подсети.
    Несмотря на *это*, сканер работает весьма резво (350 IP в секунду)

    danilissimus, 31 Марта 2011

    Комментарии (9)
  2. Perl / Говнокод #6155

    −120

    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
    use strict;
    use warnings;
    
    my $expr = $ARGV[0] || die();
    my $n = $ARGV[1] || die();
    die if ($n < 1) || ($n > length($expr));
    
    $expr =~ tr/[\xc0-\xdf]\xa8/[\xe0-\xff]\xb8/;   # lc
    ($expr =~ m/^[\xe0-\xff\xb8\-]+$/s) || die();
    
    
    open(F, 'index') || die("failed to open 'index': $!");
    while (<F>)
    {
        chomp();
        print "$_\n" if (match($_, $expr, $n));
    }
    close(F);
    
    
    sub match
    {
        my ($str, $expr, $n) = @_;
    
        return if length($str) != $n;
        foreach my $letter (split(//, $str))
        {
            my $pos = index($expr, $letter);
            return if ($pos < 0);
            substr($expr, $pos, 1, '');
        }
    
        return 1;
    }

    собирает из букв слова
    использовать совместно со словарем
    вот мой это индекс русского вики
    http://files.mail.ru/CNVUDS

    iliym, 31 Марта 2011

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

    −125

    1. 1
    2. 2
    3. 3
    4. 4
    use Date::Calc qw (Delta_Days);
    use strict;
    my $delta = Delta_Days(1601, 1, 1, 2008, 8, 12);
    print "Delta is $delta\n";

    дни нашей жизни

    iliym, 31 Марта 2011

    Комментарии (0)
  4. PHP / Говнокод #6153

    +161

    1. 1
    2. 2
    $this->Object = Application::getObject();
    $this->OBJECT = $this->Object->object;

    А Баден-Баден где-то в Европе...

    skubent, 31 Марта 2011

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

    +160

    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
    // NB: placing identical functions on both toggle events is required for proper functionality!
    $("#manageButton").toggle(
    	function () {
    		$(this).toggleClass('current');
    		$("#adminBar").slideToggle(50);
    		$("#manageButtonIcon").attr("src", "/includes/images/icons/collapse.gif");
    	},
    	function () {
    		$(this).toggleClass('current');
    		$("#adminBar").slideToggle(50);
    		$("#manageButtonIcon").attr("src", "/includes/images/icons/expand.gif");
    	}
    );

    С сайта luminous-landscape.com.

    sapegin, 31 Марта 2011

    Комментарии (0)
  6. C# / Говнокод #6151

    +116

    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
    /// <summary> 
    /// Сохраняет элементы справочника
    /// </summary>
    public IEnumerable SaveBookElements(IList elements) {
    	IList result = null;
    
    	try {
    		if (elements != null && elements.Count > 0) {
    			if (elements.GetType().GetGenericArguments().Length == 1 && elements[0].GetType() != elements.GetType().GetGenericArguments()[0]) {
    				var mi = typeof(BooksWorker).GetMethod("SaveTypedBookElements", BindingFlags.NonPublic | BindingFlags.Instance)
    					.MakeGenericMethod(new[] { elements[0].GetType() });
    
    				var casted = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(new[] { elements[0].GetType() }));
    
    				foreach (var t in elements) {
    					casted.Add(t);
    				}
    
    				result = mi.Invoke(this, new object[] { casted }) as IList;
    			}
    		}
    	}
    	catch (Exception ex) {
    		throw new ApplicationException("Ошибка!", ex);
    	}
    
    	return result;
    }

    Автор проникся рефлексией :-!

    Guid, 31 Марта 2011

    Комментарии (2)
  7. Assembler / Говнокод #6150

    +230

    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
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    org VECTORS
     dw metka1
     org 3feh
     dw start
    
     org 200h
    
    start:
    
     lda #0
     sta 0E0h
     sta 0E1h
     sta 0E2h
    
     clra
     lda #0f0h
     sta 4
     bset 5,0008h
     cli
     jmp $
    
    metka1:
    
     rol 0
     bcs metka2
    
     lda #070h
     sta 4
     lda #1
     sta 0E0h
     jmp metka3
    
    metka2:
    
     lda #0f0h
     sta 4
    
     lda 0E0h
     cmp 0E2h
     beq metka3
    
     lda #0
     sta 0E0h
     lda 0E1h
     inca
     sta 0E1h
     jmp metka4
    
    metka3:
    
     lda 0E1h
     inca
     sta 0E1h
    
    metka4:
     bset 2,0008h
     rti
    
    END

    типовик

    iliym, 31 Марта 2011

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

    +90

    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
    Uses CRT;
    const
         a=10;
         b=21;
         c=30;
    Var
       max: integer;
    Begin
         if (a>b) then
                  if (a>c) then
                     begin
                       max:=a;
                     end
                  else max:=c;
         if (b>a)then
                 if (b>c)then
                          max:=b
                 else
                   max:=c;
    Writeln(max);
    if (max mod 5 = 0 ) then
       writeln ('Кратное')
    else writeln('некратное');
       
    End.

    Juris_Kabanis, 30 Марта 2011

    Комментарии (13)
  9. SQL / Говнокод #6148

    −862

    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
    BEGIN
        DECLARE @id_user int;
        IF (EXISTS(SELECT ut.id_user FROM project_userTable ut WHERE ut.userStr=@UserName OR ut.email = @email))
            begin
                SET @errors='Такое имя или пароль уже существуют';
                RETURN;
            end
        INSERT INTO project_userTable (userStr,passwordStr,email,profileLink,id_user_type,activate_ticket)
        VALUES (@UserName,@password, @email, @profileLink,2,@activate_ticket)
        IF (@@ROWCOUNT!=1)
        begin
            SET @errors='Ошибка регистрации';
            RETURN
        end
        SET @id_user=@@IDENTITY;
        INSERT INTO project_keyTable ([datetime],id_user, first_key ,second_key )
        VALUES (GETDATE(),@id_user,@firstKey,@secodKey)
        IF (@@ROWCOUNT=1)
        begin
            SET @errors='Done';
            RETURN
        end
        SET @errors='А воттеперь реально косяк.';
    END

    Реально косяк. Кстати, а что читать?

    akaDElpher, 30 Марта 2011

    Комментарии (2)
  10. C++ / Говнокод #6147

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    std::string get(const std::string& name) {
          NamedPropertyMap::iterator it = properties.find(name);
          if (it == properties.end())
            return false;
    
          std::string ret;
          it->second->Get(ret);
          return ret;
        }

    return false; компилится на ура в VS2008

    Aleskey, 30 Марта 2011

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