1. Список говнокодов пользователя Tanger

    Всего: 14

  2. C++ / Говнокод #12047

    +26

    1. 1
    2. 2
    3. 3
    // ...
    c=getchar();
    if(c==*" ") cout << "space";

    Tanger, 02 Ноября 2012

    Комментарии (7)
  3. bash / Говнокод #7063

    −129

    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
    #!/bin/bash
    EMAIL="Your email"
    PASSWORD="your password"
    USERAGENT="Mozilla/5.0 (X11; Linux i686; rv:2.0.1) Gecko/20110529 Firefox/4.0"
    
    curl -A "$USERAGENT" -c /tmp/vklogin.cookie -d "pass=$PASSWORD&email=$EMAIL" http://login.vk.com/?act=login -L | iconv -f cp1251 > /tmp/vklogin
    
    perl -e  "while(<STDIN>) {\$a=\$_; if(\$a =~ /^\s*<input[^>]*?name='([^']*)'[^>]*?value='([^']*)'\s*\/>/i) {print \"\$1=\$2&\";}}" < /tmp/vklogin > /tmp/vklogin.postdata
    POSTDATA="$(cat /tmp/vklogin.postdata)"
    
    curl -A "$USERAGENT" -d "$POSTDATA" -b /tmp/vklogin.cookie -c /tmp/vklogin.cookie http://vkontakte.ru/login.php -L -v 2>&1 | iconv -f cp1251 &> /dev/null
    
    echo 1 > /tmp/vklogin.mailid
    echo 1 > /tmp/vklogin.mailoutid
    
    while [ `cat /tmp/vklogin.mailid | wc -l` -gt 0 ]; do
        curl -A "$USERAGENT" -d "$POSTDATA" -b /tmp/vklogin.cookie -c /tmp/vklogin.cookie http://vk.com/mail -L | iconv -f cp1251 > /tmp/vklogin.mail
        cat /tmp/vklogin.mail |  perl -e "while(<STDIN>) {if (\$_ =~ /.*mail.deleteMsg\((\d*)/) {print \"\$1\n\";} }" > /tmp/vklogin.mailid
        for i in $(cat /tmp/vklogin.mailid); do
            curl -A "$USERAGENT" -d "act=a_delete&al=1&from=inbox&hash=1309098903_0eefa6ea250675f38e&id=$i"  -b /tmp/vklogin.cookie -c /tmp/vklogin.cookie http://vk.com/al_mail.php -L | iconv -f cp1251 
        done
    done
    
    while [ `cat /tmp/vklogin.mailoutid | wc -l` -gt 0 ]; do
        curl -A "$USERAGENT" -d "$POSTDATA" -b /tmp/vklogin.cookie -c /tmp/vklogin.cookie http://vk.com/mail?section=outbox -L | iconv -f cp1251 > /tmp/vklogin.mailout
        cat /tmp/vklogin.mailout |  perl -e "while(<STDIN>) {if (\$_ =~ /.*mail.deleteMsg\((\d*)/) {print \"\$1\n\";} }" > /tmp/vklogin.mailoutid
        for i in $(cat /tmp/vklogin.mailoutid); do
            curl -A "$USERAGENT" -d "act=a_delete&al=1&from=outbox&hash=1309103621_59302e5e1b1a924a70&id=$i"  -b /tmp/vklogin.cookie -c /tmp/vklogin.cookie http://vk.com/al_mail.php -L | iconv -f cp1251 
        done
    done
    rm /tmp/vklogin*

    Удаляет все сообщения на vk.com

    Наверное hash надо будет заменить.

    Tanger, 26 Июня 2011

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

    −127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #!/bin/perl                                                                                    
    use Crypt::Blowfish; use Crypt::CBC;                                                           
    $encrypt_key= 'key';                                                                           
    $crypted_text = '53616c7465645f5fd56d1d101fb3adbf1d10cd5ce49b40868dd03da0de64c86bde6bfc3102e20aad6f4447b1fd1aacd8de66f6709cb643b56ebd16c8b8b6f86c0abc6dd6750ad3d71a558d7236102d8e730d11ded42a26d1';                                                                       
    $cipher_handle = new Crypt::CBC($encrypt_key,'Blowfish');                                      
    $text = $cipher_handle->decrypt_hex($crypted_text);                                            
    print $text;

    Не говнокод.

    Tanger, 01 Апреля 2011

    Комментарии (10)
  5. Python / Говнокод #5253

    −97

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    import string
    k=input()
    a=range(1000)
    if k==1:
            a[0]=input()
    else:
            t = string.replace(str(raw_input()), ' ', ', ')
            a=eval('('+t+')')

    4
    2 3 4 5
    ----
    Не знаю я питон :(
    По другому не смог быстро написать..

    Tanger, 13 Января 2011

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

    +145

    1. 1
    На сайте проводится профилактика, поэтому гостям нельзя писать комментарии до 1 января 2011. Говнокод.ру благодарит Вас за понимание!

    ... Сейчас 06.01.11...
    Баг или фича?

    --
    В предпросмотре пишет C# вместо кучи...

    Tanger, 06 Января 2011

    Комментарии (8)
  7. Куча / Говнокод #3452

    +144

    1. 1
    //Неплохо было бы добавить возможность удалять свои говнокоды...

    Tanger, 10 Июня 2010

    Комментарии (17)
  8. Куча / Говнокод #3431

    +153

    1. 1
    2. 2
    3. 3
    // Является ли это говнокодом?
    <form action="prog.php?a=1&b=2" method="POST">
    ...

    Говнокод или так можно делать?

    Tanger, 09 Июня 2010

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

    +129

    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 <iostream>
    #include <string.h>
    using namespace std;
    int strsearch(char* from, char* what);
    int getnumberafter(char* from, char* what);
    int strch(char* a, char* b, int pos);
    
    int strsearch(char* from, char* what)
    {
        int n=strlen(from)-strlen(what)+1;
        int i;
        for(i=0; i<n; i++)
    	if(strch(from, what, i)==strlen(what)) return i;
        return 0;
    }
    int getnumberafter(char* from, char* what)
    {
        int p, ret=0;
        if((p=strsearch(from,what))==0) return 0;
        p+=strlen(what);
        while(from[p]<'0'&&from[p]>'9')
        {
    	p++;
    	if(p>=strlen(from)) return 0;
        }
        while(from[p]>='0'&&from[p]<='9'&&p<strlen(from))
        {
    	ret=ret*10+(from[p++]-'0');
        }
        return ret;
    }
    int strch(char* a, char* b, int pos)
    {
        int i,n=min(strlen(a)-pos,strlen(b));
        for(i=0; i<n; i++)
    	if(a[i+pos]!=b[i]) return i;
        return i;
    }
    int main(int argc, char* argv[])
    {
        int i;
        double max=1,vol=0;
        for(i=0; i<argc; i++)
        {
    	cout << i << ": " << argv[i] << endl;
    	if(strch(argv[i],"type",0)==4) {  max=getnumberafter(argv[i],"max=");}
    	if(strch(argv[i],"values",0)==6) { vol=(getnumberafter(argv[i],"=")+getnumberafter(argv[i],","))/2;}
        }
        cout << vol/max << endl;
        return 0;
    }

    Задача из чего-то типа этого:
    numid=2,iface=MIXER,name='Master Playback Volume'
    ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
    : values=31,31
    | dBscale-min=-46.50dB,step=1.50dB,mute=0
    Получить значение в процентах.
    #./a.out `amixer cget numid=2`
    0,67

    Tanger, 08 Июня 2010

    Комментарии (14)
  10. bash / Говнокод #3262

    −132

    1. 1
    yes | rm -r /

    Так красивее :)

    Tanger, 18 Мая 2010

    Комментарии (31)
  11. Куча / Говнокод #3155

    +130

    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
    //Сам скрипт
    #!/bin/sh
    cat /opt/chtag/truechars > /opt/chtag/tf
    printf " $1@" >> /opt/chtag/tf
    mp3info -p "%t" "$1">> /opt/chtag/tf
    /opt/chtag/a.out < /opt/chtag/tf > /opt/chtag/t3
    sh /opt/chtag/t3
    
    //truechars
    абвгдеёжзийклмнопрстуфхцчшщьыъэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ
    
    //Исходники a.out
    #include <iostream>
    using namespace std;
    int main()
    {
        int i,j;
        string name,s,as="",truec;
        cin >> truec;
        cin >> s;
        while(!cin.eof()) {as+=" "+s; cin >> s;}
        name=as.substr(1,as.find("@",0)-1);
        as=as.substr(as.find("'")+1);
        for(i=0; i<truec.size(); i++)
        {
    	if(as.find(truec[i],0)<truec.size())
    	{
    	    cout << "printf \"" << name << " OK!\\n\"" << endl;
    	    return 0;
    	}
        }
        cout << "printf \""<<name<<"\\'s tags will be changed...\\nBefore\\n\";\n"
    	    "mp3info \""<< name << "\";\n"
    	    "mid3iconv -e CP1251 -d --remove-v1 \""<< name << "\";\n"
    	    "printf \"Now\\n\"\nmp3info \"" << name << "\""
    	 << endl;
        return 0;
    }

    Вообще должен кодировку в русских тэгах в mp3 нормальной делать...

    Tanger, 04 Мая 2010

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