- 1
Я упал
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+3
Я упал
0
/**
* Sets the user in the token.
*
* The user can be a UserInterface instance, or an object implementing
* a __toString method or the username as a regular string.
*
* @param string|object $user The user
*
* @throws \InvalidArgumentException
*/
public function setUser($user)
{
if (!($user instanceof UserInterface || (is_object($user) && method_exists($user, '__toString')) || is_string($user))) {
throw new \InvalidArgumentException('$user must be an instanceof UserInterface, an object implementing a __toString method, or a primitive string.');
}
if (null === $this->user) {
$changed = false;
} elseif ($this->user instanceof UserInterface) {
if (!$user instanceof UserInterface) {
$changed = true;
} else {
$changed = $this->hasUserChanged($user);
}
} elseif ($user instanceof UserInterface) {
$changed = true;
} else {
$changed = (string) $this->user !== (string) $user;
}
if ($changed) {
$this->setAuthenticated(false);
}
$this->user = $user;
}
https://github.com/symfony/security-core/blob/master/Authentication/Token/AbstractToken.php#L93
+5
function is_assoc( $array ) {
return is_array($array) && substr( json_encode($array), 0, 1 ) == '{';
}
+3
#include <iostream>
class A
{
public:
virtual void print(int val = 10) { std::cout << "A" << val; }
};
class B : public A
{
public:
virtual void print(int val = 20) { std::cout << "B" << val; }
};
int main()
{
B b;
A& a = b;
a.print();
return 0;
}
when you see it, you’ll shit bricks
0
// check that all selected vertices are one 3d vertex.
bool UsedIndex = 0;
bool IndexIsRegistered = false;
for (int t = 0; t < Indices.count(); t++)
{
zUVVertex Vertex = OldVerts->at(t);
if (!IndexIsRegistered)
{
IndexIsRegistered = true;
UsedIndex = Vertex.BaseVertexIndex;
}
else if (UsedIndex != OldVerts->at(t).BaseVertexIndex)
{
// quit on fail
return;
}
}
NewList = new QList<zUVVertex>();
zUVVertex NewVertex;
bool VertexIsInitialized = false;
bool CapIsHoled = false;
for (quint32 t = 0; t < OldVerts->count(); t++)
{
bool Taked = false;
for (quint32 j = 0; j < Indices.count(); j++)
{
if (OldVerts->at(t).index == Indices.at(j))
{
if (!VertexIsInitialized)
{
VertexIsInitialized = true;
NewVertex = OldVerts->at(t);
}
Taked = true;
NewVertex.IndicesBeforeWeld << t;
break;
}
}
if (!Taked)
{
(*NewList) << OldVerts->at(t);
}
else
{
zUVVertex Stub;
if (!CapIsHoled)
{
Stub = NewVertex;
}
else
{
Stub.Index = 0x7FFFFFFF;
}
(*NewList) << Stub;
}
}
(*NewList) << NewVertex;
Taked = false;
QList<zUVFace> *TempFacesList = new QList<zUVFace>();
for (int t = 0; t < Faces->count(); t++)
{
zUVFace Face = Faces->at(t);
zUVFace NewFace;
for (int j = 0; j < Face.VertsIndices; j++)
{
quint32 Index0 = Face.VertsIndices.at(j);
zUVVertex TestVertex = NewList->at(Index0);
if (TestVertex.Index == 0x7FFFFFFF)
{
// need to replace
NewFace = Faces->at(t);
NewFace.VertsIndices.operator [](j) = NewList->count() - 1;
Taked = true;
}
}
if (Taked)
{
(*TempFacesList) << NewFace;
}
}
http://www.gamedev.ru/code/forum/?id=216701
−4
Можно, я похерю Вам настроение?
Можно, я похерю Вам настроение?
−715
return instruction emitted twice with branch target inbetween
function
unsigned int fact( unsigned int n) { return n < 1 ? 1 : n*fact(n-1); }
produces
fact:
.LFB0:
.cfi_startproc
testl %edi, %edi
movl $1, %eax
je .L4
.p2align 4,,10
.p2align 3
.L3:
imull %edi, %eax
subl $1, %edi
jne .L3
rep ret # <-- this instruction can be removed
.L4:
rep ret
.cfi_endproc
.LFE0:
.size fact, .-fact
.section .text.unlikely
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71923 даже факториал не могут скомпилировать нормально
−94
Если
ЗначениеЗаполнено(СсылкаНаОбъект) И ((Строка(ТипЗнч(СсылкаНаОбъект))="Документ ссылка: Поступление товаров и услуг") или (Строка(ТипЗнч(СсылкаНаОбъект))="Документ ссылка: Установка цен номенклатуры") или (Строка(ТипЗнч(СсылкаНаОбъект))="Документ ссылка: Перемещение товаров")) Тогда
Проверяется тип документа
+7
class Buffer
{
StringBuilder buffer = new StringBuilder("", 55);
public void append(String symbol)
{
if (buffer.Length > 50)
writeToLog();
buffer.Append(symbol);
}
public void removeLast()
{
if (buffer.Length == 0)
return;
buffer.Length--;
}
private void writeToLog()
{
keylogFile.write(buffer.ToString());
buffer.Clear();
GC.Collect();
}
}
Выдавил класс буфера для записи в лог с кейлоггера , так как нужно учитывать [backspace].
Туда передаются строки по 1 символу , так вот если убрать в конце GC.Collect(); начинает течь память ,
по 100кб где то в минуту при быстром наборе текста ,причем сама она уже потом не освобождается .
Не могу понять, чем это может быть вызвано.С GC.Collect(); все отлично .
+7
function redirect($url)
{
header('Location:'.$url);
echo '<script>document.location.href = \''.$url.'\';</script>';
exit;
}