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

    +132

    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
    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <time.h>
    char a[150],c[150];
    int main(int argc, char **argv) {	
    	FILE * tmp;
    	while(1) {
    		int b=0,b1=0;
    		bool A=0;
    		tmp=fopen(".tmp.txt","r");
    		fgets(c,150,tmp);
    		fclose(tmp);
    		system("rm .tmp.txt");
    		system("xwininfo -tree -root | grep -i '\\- deadbeef-0.5.1' > .tmp.txt");
    		tmp=fopen(".tmp.txt","r");
    		fgets(a,150,tmp);
    		fclose(tmp);
    		for(int i=16;i<149;i++) {
    
    			c[i-16]=c[i];
    			a[i-16]=a[i];
    			if(a[i-16]=='-')
    				b++;
    			if(c[i-16]=='-')
    				b1++;
    			if(b==2)
    				a[i-16]=0;
    			if(b1==2)
    				c[i-16]=0;
    		}
    		for(int j=0;j<(int)strlen(c);j++) {
    			if (a[j]!=c[j])	A=true;
    		}
    		if (A) {
    			char lamp[]="/usr/bin/purple-remote \"setstatus?status=available&message=";
    			strcat(lamp,a);
    			strcat(lamp,"\"");
    			system(lamp);
    		}
    		sleep(5);
    	}
    	return 0;
    }

    Реализация аналога pidgin-musictracker для deadbeef

    Запостил: Abbath, 13 Января 2012

    Комментарии (13) RSS

    • Да выучи уже наконец bash! Или Perl. Или Python. Или заботай соответствующие сёвые либы.
      Ответить
    • Ах, компилируемый скрипт - как это трогательно.
      Ответить
    • в этом коде вообще есть хоть что то, к чему нельзя было бы придраться?
      45 строк

      1. только не упади только не упади! вот хер проссышь чего он падает...
      > char lamp[]="/usr/bin/purple-remote \"setstatus?status=available&message= ";
      > strcat(lamp,a);
      2. посрать, мне даже нравится когда мой пентиум 100500 приятно обогревает комнату
      > for(int j=0;j<(int)strlen(c);j++)
      3. похуй, всё равно си и си++ это одно и тоже, никто и не заметит, кстати я читал что и с# тоже та же самая херня, только платная, гыы, развод лохов
      > #include <iostream>
      4. надо бы не забыть сделать бенчмарк, за сколько наносекунд отрабатывает скрипт
      > #include <time.h>
      5. глобальными переменными не пользуются только слабаки, любой знает что сегмент данных круче, чем сраный стек
      6. включил иострим, но пользоваться буду кошерными FILE, наверное иострим осталось в коде от лабы старшей сестры, вот дура гыы
      Ответить
      • 7. ой, а разве я не предупредил, что пишу не утилиту, а демон?
        > while(1)
        8. ну я то знаю, что указанный файл у пользователя есть всегда, если нет, он сам мудак, пусть руками создаст сначала, прежде чем пользоваться моим шедевром
        > tmp=fopen(".tmp.txt","r");
        9. до чего же эти нубы, использующие баш или, прости господи, "путон", тупые неудачники. Ведь из сишечкии так можно вызывать любые команды!
        10. 99 символов в строке должно хватить каждому, кстати. Но полюбому найдется мудак, который впишет 100, так, что же делать, о, пусть будет ограничение 149! fuck yea!
        11. мнемонические названия переменных? нахуя? мне и так всё понятно! только идиот будет переделывать мой совершенный код, а идиотам имена переменных не нужны. да и не факт что я этот код вообще открою, я ево буду продовать, бил гейц обзовидуится!
        12. пусть все знают что я кулхацкер, который экономит время процессора при компиляции, я присвою булевой переменной имя А и значение 0, а не напишу долго фааааалллсссеее или еще чего имя ей давать, бля пока кодишь на этом говносраном си состариться можно
        13. strcmp для неудачников, зубрящих документацию, тем более я все равно уверен что реализую сравнение строк эффективнее, чем эти яйцеголовые придурки
        14. а что, в си указателю можно присвоить другой указатель плюс смещение? фу какая ересь, кому это вообще может пригодиться, у меня ведь массив и я переприсвою все его элементы со сдвигом -16, это просто и быстро, и главное такой код в будущем можно будет показать начинающему программисту
        15. и да, я говорил, что 149 символов должно хватить всем - я передумал, должно хватить 148, ну и что, это тоже очень здоровое число
        Ответить
        • это потрясающе. продолжение будет? =)

          > в этом коде вообще есть хоть что то, к чему нельзя было бы придраться?
          > 45 строк
          концентрированный говнокод. 96%. в неразбавленном виде не читать, опасно для моска!
          Ответить
          • 16. досрочные выходы из цикла это как преждевременная эякуляция. совершенно никакого удовольствия от процесса. кроме того, если написать "делать цикл 148 раз", а сделать скажем 23, получится крайне неэффективное использование программы, получится, что часть кода не пригодилась! нет, нужно стремиться к КПД 100%
            17. когда я сравниваю строки, я уверенно беру длину первой из них и пользуюсь только ей. поэтому строка "хутин" всегда равна строке "хутин - пуй!", тем более что это и так всем известно
            18. как это глупо определять магические константы отдельно - получается их приходится минимум дважды писать, гораздо проще написать сразу 16 или 149, кроме того, именно это и сделает недовольный компилятор, думая что программисты совсем обленились. Обидится и соберёт программу с багами. Я его уважаю и злить не буду, а мои программы никогда не упадут.
            Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий