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

    Всего: 4

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

    −1

    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
    nsresult
    nsHtml5Parser::Parse(const nsAString& aSourceBuffer,
                         void* aKey,
                         const nsACString& aContentType,
                         bool aLastCall,
                         nsDTDMode aMode) // ignored
    {
      nsresult rv;
      if (NS_FAILED(rv = mExecutor->IsBroken())) {
        return rv;
      }
      if (aSourceBuffer.Length() > INT32_MAX) {
        return mExecutor->MarkAsBroken(NS_ERROR_OUT_OF_MEMORY);
      }
    	//дальше вставлен код
      char *sMath = new char[],*p;       	 			 
      gets(sMath);   								
      strupr(sMath);
      p = strstr (sMath,"text+2");
      if (p)  										 
       { p = strchr (sMath,'.');
         if (p) 				
         strcat (sMath,"text+2");
       }   					
      delete [] sMath;

    Доброго времени всем.
    нашел код поиска и замены символов в строке. ставлю в исходник. компилятор пропускает , но в самом финале зависает насмерть. Уже вроде бы все:
    EXE header size: 62464 / 37888 bytes
    139:39.45 Install code: 169642 / 169638 bytes
    139:39.45 Install data: 173316 / 173324 bytes
    139:39.45 Uninstall code+data: 460087 / 460079 bytes
    139:39.45 CRC (0xB7F63C0E): 4 / 4 bytes
    139:39.45
    139:39.45 Total size: 865513 / 840933 bytes (102.9%)
    последняя строчка: 140:48.58 Packaging [email protected]:51.45 207 compiler warnings present.
    уже полдня висит, а финал не выдает:
    247:11.23 We know it took a while, but your build finally finished successfully!
    To view resource usage of the build, run |mach resource-usage|.
    To take your build for a test drive, run: |mach run|
    For more information on what to do now, see https://developer.mozilla.org/docs/Developer_Guide/So_You_Just_Built_Firefox

    DrAli, 23 Ноября 2018

    Комментарии (236)
  3. C++ / Говнокод #24904

    −2

    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
    #include<iostream>
    #include<fstream>
    #include<vector>
    using namespace std;
    
    string rec(const string str, char c){return str;}
    
    void cer(){}
    
    main(){
    	string s,d="Text",a;
    	ifstream fin;
    	vector<string> mas;
    fin.open("test.txt");
    //if (fin.is_open()) cout<<"1";else	cout<<"0";
    while(fin>>s)
    	{bool f=0;
    		for(int i=0; i<s.size(); ++i)
    			if (s[i]==d[0])
    				{
    					f=1;
    					for (int j=0; j<s.size()&&j<d.size(); ++j)
    						if (d[j]!=s[i+j]) f=0;
    					if (f)
    						{
    							a.clear();
    							for (int j=0; j<i; ++j)
    								a=a+s[j];
    							a=a+"Hi";
    							for (int j=i; j<s.size(); ++j)
    								a=a+s[j];
    						}
    				}
    			
    			if (f)	{mas.push_back("\n");mas.push_back(a);mas.push_back("\n");}
    			else mas.push_back(s);
    			s=rec(s,'0');
    	}
    	ofstream fout;
    fout.open("output.txt");
    for (int i=0; i<mas.size(); ++i) fout<<mas[i]<<"\t";
    }

    ДД всем просветленным.
    Есть код на С++ , который нормально компилируется и меняет текст в указанном файле. Вопрос: как его использовать для изменения данных при парсинге сайта. По логике Tokenizer передает лексемы в Parser для дальнейшего построения DOM. Значит надо добавить подобный код в Tokenizer, чтобы он передавал уже исправленные данные. Но на практике Tokenizer работает с Buffer(nsHtml5Tokenizer::tokenizeBuffer( nsHtml5UTF16Buffer* buffer)), причем с логическим(bool), а код для строчки из файла.
    Как вариант добавить в сам Parser(nsHtml5Parser::Parse(const nsAString& aSourceBuffer, void* aKey, const nsACString& ContentType, bool aLastCall, nsDTDMode aMode) , но не могу разобраться как это сделать.
    При компиляции вылетает куча ошибок.
    Использованные файлы: nsHtml5Parser.cpp и nsHtml5Tokenizer.cpp, FireFox(версия 47), компилятор MSVS2013.

    DrAli, 12 Октября 2018

    Комментарии (24)
  4. C++ / Говнокод #24716

    0

    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
    #include<iostream>
    #include<fstream>
    #include<vector>
    using namespace std;
    string rec(const string str, char c){return str;} //syntax error : missing ';' before identifier 'rec', ')' before 'const',  ')', ';' before '{', 
                                                                                    //'str' : undeclared identifier, 'rec': identifier not found
    
    void cer(){}                                                            //'cer' : local function definitions are illegal
    
    main(){                                                                  //'main': identifier not found
    
    	string s, d="Math.cos",a;                  //missing '}' before identifier 's',  ';' before identifier 's', 's', 'd', 'a' : undeclared identifier
    	
            ifstream fin;
    	vector<string> mas; // 'std::vector' : 'string' is not a valid template type argument for parameter '_Ty', 'mas' : unknown size
                                                  //'std::vector' : no appropriate default constructor available
    
    fin.open(mDocWrite); //'void std::basic_ifstream<char,std::char_traits<char>>::open(const char *,std::ios_base::open_mode)' : 
                                            //cannot convert argument 1 from 'nsAutoPtr<nsHtml5Tokenizer>' to 'const wchar_t *'
                         //No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
    
    //if (fin.is_open()) cout<<"1";else	cout<<"0";
    while(fin>>s)    //'s' : undeclared identifier, fatal error C1903: unable to recover from previous error(s); stopping compilation
    	{bool f=0;
    		for(int i=0; i<s.size(); ++i)
    			if (s[i]==d[0])
    				{
    					f=1;
    					for (int j=0; j<s.size()&&j<d.size(); ++j)
    						if (d[j]!=s[i+j]) f=0;
    					if (f)
    						{
    							a.clear();
    							for (int j=0; j<i; ++j)
    								a=a+s[j];
    							a=a+"0.5*";
    							for (int j=i; j<s.size(); ++j)
    								a=a+s[j];
    						}
    				}
    						if (f)	{mas.push_back("\n");mas.push_back(a);mas.push_back("\n");}
    			else mas.push_back(s);
    			s=rec(s,'0');
    	}
    	ofstream fout;
    fout.open(mDocWrite);
    for (int i=0; i<mas.size(); ++i) fout<<mas[i]<<"\t";
    }

    предполагалось, что код будет уменьшать cos угла в два раза, но при компиляции выдает ошибки, логику большинства которых не могу понять. Ошибки указал в коде. Подскажите, что не так.

    DrAli, 04 Сентября 2018

    Комментарии (28)
  5. C++ / Говнокод #24050

    0

    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
    #include <stdlib.h>
    #include <time.h>
    #include <random> 
    #include <algorithm>
    .........
    .........
    double
    js::math_random_no_outparam(JSContext* cx)
    {
    	if JSContext* == "Math.floor(Math.random() * (max - min + 1) + min)"
    	{
                  return Math.floor(Math.random() * (max - min + 1) + min);
    	}
           return random_nextDouble(&cx->compartment()->rngState);
    }
    ........

    Доброго времени
    хочу заставить Лису(FF) вычислять math функцию внутри браузера, а не через Windows (ADVAPI32.DLL Function36).
    Но при компиляции измененного кода постоянно получаю ошибки.
    Я конечно кривые коды пишу, но пытаюсь подстроиться под исходный С++.
    ...........................
    в итоге не видит и не распознает ни рандом, ни фло, ни мат, ни джиэс контекст
    Подскажите в каком направлении копать.

    DrAli, 01 Апреля 2018

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