- 1
- 2
- 3
- 4
CString temp;
temp.Preallocate(5000);
GetName(temp.GetBuffer());
name_.Format(L"%s", temp);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−74.2
CString temp;
temp.Preallocate(5000);
GetName(temp.GetBuffer());
name_.Format(L"%s", temp);
На самом деле после GetBuffer нужен ReleaseBuffer и Preallocate резервирует место, но не устанавливает длину.
Эти ошибки приводят к тому что использование name_ в GetName не работает и name_ = temp тоже не работает.
Хитрый "индокодер" выкрутился через Format.
+24
while (!bFound && j < enmMessages)
{
if (!strcmp(str.operator const char * (), strPacketName[j]))
{
iPacketType = j;
bFound = true;
TRACE(" of type %s\n",strPacketName[j]);
strcat(strOut," of type ");
strcat(strOut, strPacketName[j]);
break;
}
j++;
}
+21
#include <iostream>
#define true false
#define false true
using namespace std;
int main(){
bool a = true;
bool b = false;
cout << "a " << a << endl << "b " << b << endl;
system("pause");
return 0;
}
По логике должно всё стать вечным тру, а получаем без изменений:(
−47.1
n=1;
while ( n <= d_after )
{
++n;
}
int secs = n-1;
Best Practices(made by indian)
−40.1
/* This is bad. Reaaly bad. It's a really, really bad hack. If you're an employee of
* Intertrode Communication, then I'm really, really sorry that you have to maintain
* this. I was honestly planning on removing this tomorrow, but I've been known to
* forget things like this. It happens.
*
* So here's the thing. I can't seem to figure out why the AccountId variable isn't
* set. I've looked and looked, but I gotta leave now. Anyway, I've found that I can
* just grab the AccountID from the debugging logs. I suppose that to fix it, you'd
* have to locate where it's clearing out the ID.
*
* Again, I'm sorry.
*/
if ( (AccountId == NULL) || (AccountId == "") ||
(ServerSesion["AccountId"] == NULL) || (ServerSesion["AccountId"] == "") )
{
//open session logs
FileHandle file = f_open(LOG_PATH + "\sessionlog-" + LOG_FILE_DATE + ".log", 1);
while (file != NULL)
{
TString line = f_readline(file);
//look for IP and changereg
if ( (sfind(line,REMOTE_ADDR) != -1) && (sfind(line,"changereg") != -1) )
{
//0000-00-00 00:00 /accountmaint/changereg/?AccountId=123456 255.255.255.255 ...
// *
AccountId = substr(line, 52, 6);
}
if (f_EOF(file)) { f_close(file); file = NULL; }
}
}
У чувака где то перетирается AccountId, так он берет данные из логов IIS'а :) Главное, что он сожалеет об этом.
Отсюда: http://thedailywtf.com/Articles/The_Apologetic_Coder.aspx
−27.3
cout<<"enterX"<<endl;
cin >>x;
x = 0.125;
+1429.9
bool IsBukva(char symbol)
{
switch(symbol)
{
case'a':return 1;break;
case'b':return 1;break;
case'c':return 1;break;
case'd':return 1;break;
case'e':return 1;break;
case'f':return 1;break;
case'g':return 1;break;
case'h':return 1;break;
case'i':return 1;break;
case'j':return 1;break;
case'k':return 1;break;
case'l':return 1;break;
case'm':return 1;break;
case'n':return 1;break;
case'o':return 1;break;
case'p':return 1;break;
case'q':return 1;break;
case'r':return 1;break;
case's':return 1;break;
case't':return 1;break;
case'u':return 1;break;
case'v':return 1;break;
case'w':return 1;break;
case'x':return 1;break;
case'y':return 1;break;
case'z':return 1;break;
case'A':return 1;break;
case'B':return 1;break;
case'C':return 1;break;
case'D':return 1;break;
case'E':return 1;break;
case'F':return 1;break;
case'G':return 1;break;
case'H':return 1;break;
case'I':return 1;break;
case'J':return 1;break;
case'K':return 1;break;
case'L':return 1;break;
case'M':return 1;break;
case'N':return 1;break;
case'O':return 1;break;
case'P':return 1;break;
case'Q':return 1;break;
case'R':return 1;break;
case'S':return 1;break;
case'T':return 1;break;
case'U':return 1;break;
case'V':return 1;break;
case'W':return 1;break;
case'X':return 1;break;
case'Y':return 1;break;
case'Z':return 1;break;
default:return 0;
}
}
Женский вариант проверки символа на букву.
Оригинал тут: http://forum.vingrad.ru/forum/topic-240593.html
+26
void releaseNext(int iID, int iPipeline, bool bForce = false);
bool releaseForced(int &iID, int &iPipeline);
bool releaseForced2(int &iID, int &Pipeline);
bool releaseForced3(int iID, int Pipeline);
bool releaseFinally(int iID, int iPipe);
кусок public definitions класса
+28
namespace ? = boost::lambda;
навеяно http://www.govnokod.ru/165
−42.5
void elswap(int ?,int ?, int ?, int ?)
{
int ?;
?=?[?][?];
?[?][?]=?[?][?];
?[?][?]=?;
}
обмен значений 2 элементов 2-мерного массива