- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
uint16_t (*tArray16[20])[16];
uint16_t (*tArray64[5])[64];
//////
где-то в начале это malocaется
//////
for( i = 0; i < 25; i++ )
{ ....
free( h->tArray16[i] );
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 150
−157
uint16_t (*tArray16[20])[16];
uint16_t (*tArray64[5])[64];
//////
где-то в начале это malocaется
//////
for( i = 0; i < 25; i++ )
{ ....
free( h->tArray16[i] );
}
это работает. т.к. структуры идут в памяти последовательно
+229
;uint64_t foo(uint32_t x, uint64_t y) { return x*y; }
sub esp, 0×8
mov edx, [esp+0x14]
mov ecx, [esp+0xc]
mov eax, [esp+0x10]
mov [esp+0x4], esi
mov esi, edx
imul esi, ecx
mul ecx
mov [esp], ebx
mov ebx, [esp]
add esi, edx
mov edx, esi
mov esi, [esp+0x4]
add esp, 0×8
ret
оптимизированое умножение - gcc 4.2.4
+137
procedure TForm1.Button1Click(Sender: TObject);
var
Result, str, str1, str2, str3, str4, str5, str6 : string;
PLen, stroka, i : integer;
begin
Randomize;
str:='';
Memo1.Clear;
stroka := SpinEdit2.Value;
str1 := '1234567890';
str2 := 'abcdefghijklmnopqastuvwxyz';
str3 := 'ABCDEFGHIJKLMNOPQASTUVWXYZ';
str4 := '!@#$%^&*()_+|\=-<>.,/?''; :"][}{';
str5 := 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
str6 := 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
PLen := SpinEdit1.Value;
if CheckBox1.Checked = True
then str:=str+str1;
if CheckBox2.Checked = True
then str:=str+str2;
if CheckBox3.Checked = True
then str:=str+str3;
if CheckBox4.Checked = True
then str:=str+str4;
if CheckBox5.Checked = True
then str:=str+str5;
if CheckBox6.Checked = True
then str:=str+str6;
if CheckBox1.Checked or
CheckBox2.Checked or
CheckBox3.Checked or
CheckBox4.Checked or
CheckBox5.Checked or
CheckBox6.Checked = False
then
MessageDlg('Выберите символы, которые вы хотите использовать!',mtWarning,[mbOK],0)
else
for i := 1 to stroka do begin
Result := '';
repeat
Result := Result+str[Random(Length(str))+1];
until (Length(Result) = PLen);
Memo1.Lines.Add(Result);
end;
end;
Пример генератора паролей на Delphi
http://delphistudio.ru/primery-na-delphi/sistema/119-generator-porolej.-primer-na-delphi.html
вспоминается цитата какого говнокодера с баша
http://bash.org.ru/quote/406823
которую быдлота наплюсовала
−349
Function shr(ByVal a As Long, ByVal i As Long) As Long
Dim r As Variant
r = a / (2 ^ i)
shr = Fix(r)
End Function
'используется для получения значения n-го бита таким вот образом
if (shr(value,n) mod 2)=1 then
....
end if
'в другом месте почему-то биты проверяются по-другому
For i = 2 To Len(s)
a = Asc(Mid(s, i, 1))
b = (q Mod (2 ^ (i - 1))) \ (2 ^ (i - 2))
If b = 1 Then a = a - 32 'сути этого я так и не понял
t = t + Chr(a)
Next
мастерская работа с битами. епта я б на асме это в 1 строку сделал
+116
for m:=0 to 9 do
mas[m]:=inttostr(m);
if ((Form1.edit1.text='')or(Form1.Memo2.text='')) then begin
if Form1.Memo2.text='' then
ShowMessage('Ошибка! Введите пожалуйста текст или подключите файл,который необходимо расшифровать!!!');
if Form1.edit1.text='' then
ShowMessage('Ошибка! Введите пожалуйста ключ,которым будет расшифрован текст!!!');
end
else begin
//проверка ключа
key:=Form1.edit1.text;
k:=length(key);
c:=0;
k_p:=true;
for j:=1 to k do
for m:=0 to 9 do begin
if (key[j]=mas[m]) then
inc(c)
else Begin
if (m=9) then
if (c=0) then Begin
ShowMessage('Ошибка!!!Введите пожалуйста ключ,которым будет расшифрован текст-целые числа');
k_p:=false;
end
else
c:=0;
end;
end;
end;
говнокриптография...
−368
Public Function Chten(adr As String, TK As Boolean) As String
Dim str As String
Dim strr As String
Dim i As Long
If DirectoryExists(adr) = True Then
Dim FLong As Long
Open adr For Binary As #1
FLong = Loc(1)
Do While FLong < LOF(1)
str = str + Input(1, #1)
FLong = Loc(1)
Loop
Close #1
strr = str
If TK = True Then
strr = ""
Dim j As Long
j = Len(str)
For i = 1 To j
If ((i Mod 8) = 0) Or (i = j) Then
strr = strr + RTK(Mid(str, 1, 8))
str = Mid(str, 9)
End If
Next
End If
Chten = strr
End If
End Function
'есть ли
'видно что функцию он где-то взял - см. другой стиль именования переменных и отступы
'но при этом сама и функция тоже попахивает
Public Function DirectoryExists(ByVal strPathName As String) As Boolean
Dim DirectoryFound As String
Const errPathNotFound As Integer = 76
On Error GoTo 0
DirectoryFound = Dir(strPathName, vbDirectory)
If (Len(DirectoryFound) = 0 Or Err = errPathNotFound) Then
DirectoryExists = False
Else
DirectoryExists = True
End If
End Function
лаба моего бывшего однокурсника, весь остальной код - в таком же стиле
вчера искал кой-чего - наткнулся на архив старых лаб моих одногрупников и их предшественников.
Эта наверно одна из самых адекватных, потому что хоть можно сходу понять что она делает
и писал её человек хоть немного выкупающий что он пишет и тем не менее...
+225
fstp qword [tmp]
fild qword [tmp]
суровое округление через память
+217
mov ebx, [sKey]
mov ecx, 31
l9:
;----------loop------------
fprem
shr ebx,1
jnc if9
.......
if9:
fmul st0,st0
;----------loop------------
loop l9
реабилитируюсь за пост несвежего, но смешного говна немного раньше
−359
Private Function Leto(ByVal Dat1 As Date) As Boolean
Return IIf(Dat1.Month > 3 And Dat1.Month < 9, True, False)
End Function
Private Function Bas(ByVal Cost1 As Decimal, ByVal Kol1 As Integer)
Return Cost1 * Kol1
End Function
вообще это по линку cfdevа лежало в #3142
http://www.sql.ru/forum/actualthread.aspx?bid=9&tid=467673&hl=
но он не запостил самое гавно - то есть этот кусок
и его походу мало кто заметил
+187.2
HTTP/1.1 404 Not found
Server: Netscape-Enterprise/4.1
Date: Mon, 19 Apr 2010 13:05:32 GMT
Content-type: text/html
Connection: close
<script language="JavaScript">
port=0
while ( port==0 || port==9 || port==7 ){
port=Math.floor(Math.random()*1000)
while (port>=100) port-=100
while (port>=10) port-=10
}
location="http://"+"10.1.100.120:8"+port+document.location.pathname+document.location.search+document.location.hash
</script>
вот такой суровый редирект. может вам будет смешно но я из-за неизвестного мудака убил полтора часа.
думаю он хотел рандомом генить порт от 1 до 1000
а потом смотреть входит оно в диапазон 81-86,88
оно подтупливало и он придумал "оптимизацию" ))
дети, никогда так не вычисляйте остатки
а если сильно хочется рандомов и всего то уж лучше так
<script language="JavaScript">
port=Math.floor(Math.random()*8)+1;
if (port==7) port++;
location="http://"+"10.1.100.120:8"+port+document.locatio n.pathname+document.location.search+docu ment.location.hash
</script>