- 1
- 2
- 3
- 4
- 5
- 6
std::uint8_t octets[4];
for(int i = 0; i < 4; ++i) {
if(i != 0 && inp.get() != '.')
{ assert(false && "unexpected symbol"); }
inp >> octets[i];
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+56
std::uint8_t octets[4];
for(int i = 0; i < 4; ++i) {
if(i != 0 && inp.get() != '.')
{ assert(false && "unexpected symbol"); }
inp >> octets[i];
}
Два вида говна: в коде и в языке.
+53
BOOL IsNameInExpression(PCWSTR Expression, PCWSTR Name, DWORD len)
{
WCHAR c, b;
while (c = *Expression++)
{
if (c == L'*')
{
__loop:
switch (*Expression)
{
case '*':
Expression++;
goto __loop;
case 0:
return TRUE;
}
if (len)
{
do
{
if (IsNameInExpression(Expression, Name++, len--)) return TRUE;
} while (len);
}
return FALSE;
}
if (!len--)
{
return FALSE;
}
b = *Name++;
if (c != L'?' && b != c)
{
return FALSE;
}
}
return !len;
}
BOOL IsNameInExpression(PCWSTR Expression, PUNICODE_STRING Name)
{
RtlUpcaseUnicodeString(Name, Name, FALSE);
return IsNameInExpression(Expression, Name->Buffer, Name->Length >> 1);
}
+51
QDir startupFolder = QDir(AppSettings->value("SoftStartupFolder").toString());
if (!startupFolder.isAbsolute())
{
startupFolder.setPath(QCoreApplication::applicationDirPath()+QDir::separator()+AppSettings->value("SoftStartupFolder").toString());
startupFolder = QDir(startupFolder.absolutePath());
}
а иначе дальше файлы будут честно искаться в папке с названиями из точки или двух, а относительные пути браться от чего угодно кроме текущей папки или папки с прогой.
+55
QString GetVer(QString FileName)
{
//многакода
FileName.clear(); //теперь это версия %)
QTextStream(&FileName) << HIWORD(fi->dwFileVersionMS) << "." << LOWORD(fi->dwFileVersionMS) << "." << HIWORD(fi->dwFileVersionLS) << "." << LOWORD(fi->dwFileVersionLS);
return FileName;
}
кому-то лень было создавать переменную
+50
switch (player->collision(pos, getRadius()))
{
case SIDE_UP:
ySpeed = -player->baseSpeed.y + player->currentSpeed.y;
xSpeed = xSpeed - player->currentSpeed.x;
if (abs(xSpeed) > maxXSpeed)
xSpeed = maxXSpeed * (xSpeed < 0 ? -1 : 1);
break;
case SIDE_DOWN:
setPosition(getPosition().x, getPosition().y - getRadius() * 2 - 20);
ySpeed = -player->baseCornerSpeed.y - player->currentSpeed.y;
xSpeed = xSpeed - player->currentSpeed.x;
if (abs(xSpeed) > maxXSpeed)
xSpeed = maxXSpeed * (xSpeed < 0 ? -1 : 1);
break;
case SIDE_RIGHT:
case SIDE_LEFT:
xSpeed = -xSpeed + player->currentSpeed.x;
break;
case CORNER_LEFT_UP:
ySpeed = -player->baseCornerSpeed.y;
xSpeed = -player->baseCornerSpeed.x;
break;
case CORNER_RIGHT_UP:
ySpeed = -player->baseCornerSpeed.y;
xSpeed = player->baseCornerSpeed.x;
break;
case CORNER_RIGHT_DOWN:
ySpeed = player->baseCornerSpeed.y;
xSpeed = player->baseCornerSpeed.x;
break;
case CORNER_LEFT_DOWN:
ySpeed = player->baseCornerSpeed.y;
xSpeed = -player->baseCornerSpeed.x;
break;
}
Только велосипедный Collision detection, только хардкор!
+50
size_t __stdcall ZAsmView::addrSet(DIS const *pDis, unsigned __int64 Va, wchar_t * buf, size_t cb, unsigned __int64 * displacement)
{
FORMATDATA* pf = (FORMATDATA*)pDis->PvClient();
size_t fixupLen = pf->fixupLen;
pf->fixupLen = 0;
*displacement = 0;
BOOL f = TRUE;
PVOID _Va = (PVOID)Va;
ZDbgDoc* pDoc = pf->pDoc;
__loop:
if (PCSTR Name = pDoc->getNameByVa((PVOID)Va))
{
char cc[256];
PCSTR fName = unDNameEx(cc, Name, sizeof(cc), UNDNAME_NAME_ONLY);
int len = _snwprintf(buf, cb, L"%S(%p)", fName, Va);
if (len < 0)
{
buf[len = (DWORD)cb - 1] = 0;
}
else
{
buf[0] |= 0x4000, buf[len - 3 - 2*sizeof(PVOID)] |= 0x8000;
}
return len;
}
if (f && 2*sizeof(PVOID)+2<cb)
{
switch (pDis->Trmta())
{
case DIS::a_jmp_u_2:
case DIS::a_jmp_u_5:
case DIS::a_jmp_c_2:
case DIS::a_jmp_c_6:
_snwprintf(buf, cb, L"%p %c", (PVOID)Va, Va > pf->pLI->Va ? 0x2193 : 0x2191);
buf[0] |= 0x4000, buf[2*sizeof(PVOID)-1] |= 0x8000;
return 2*sizeof(PVOID)+2;
}
}
if (fixupLen)
{
if (0 <= pDoc->Read((PVOID)Va, &Va, sizeof(PVOID)))
{
fixupLen = 0, f = FALSE;
goto __loop;
}
}
if (2*sizeof(PVOID)+2<cb && pDoc->getDllByVaNoRef(_Va))
{
_snwprintf(buf, cb, L"%p", _Va);
buf[0] |= 0x4000, buf[2*sizeof(PVOID)-1] |= 0x8000;
return 2*sizeof(PVOID);
}
return 0;
}
+55
QByteArray ba;
char x;
x = 0x05;
ba.append (&x, sizeof (x));
Qt. Продолжаем мучить QByteArray :)
+50
char parser_msg(char *data, char size)
{
//<...>
QByteArray bt;
//<...>
x=(char *) malloc(size);
bt.clear();
for (i=0; i<size; i++) {
x[i]=*data;
bt.append(*data);
*data++;
}
printf("Data parser! >> '%s'\n", bt.toHex().constData());
if (x[0]==0x06) {
//<...>
}
if (x[0]==...) {
//<...>
}
//<...>
}
Разбор команд из COM-порта. Используется Qt. QByteArray, кстати, заведен здесь только ради дебаг-принта.
При вызове функции в кач. data передается указатель, возвращаемый data() другого байтаррэя, живущего на стеке.
+54
virtual bool IsUnlockedAll(){bool temp = false;return temp^temp;};
Код с боевого проекта. Комментариев не будет.
+49
for (int i = 0; i <= 10000; i++)
{
if (a[i]=='a')
a[i] == "000";
continue;
}
Цикл, который в строке a меняет все символы 'a' на три ноля. Говнолабка одногруппницы.