- 1
- 2
- 3
- 4
function InterlockedExchangePointer(var Target: Pointer; Value: Pointer): Pointer;
begin
Result := Pointer(InterlockedExchange(Integer(Target), Integer(Value)));
end;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+96
function InterlockedExchangePointer(var Target: Pointer; Value: Pointer): Pointer;
begin
Result := Pointer(InterlockedExchange(Integer(Target), Integer(Value)));
end;
Windows.pas
facepalm.jpg
Delphi, такой Delphi.
+103
if ( (mver!=0) != (qver!=0) )
для головоломки слабовато, но глаза все равно напрягает.
+132
enum
{
MaxStringLen = 1024
};
Офигенный метод объявления констант!
+106
if ( ... )
{
if ( ... )
{
if ( ... )
{
usleep(250000);
}
else
{
sleep( 1 );
}
}
else
{
if ( ... )
{
if ( ... )
{
usleep( 250000 );
}
else
{
sleep( ... );
}
}
else
{
sleep( ... );
}
}
}
else
{
usleep( 250000 );
}
из главного цикла одного "рил-тайм" приложения. (комментарии, етц были удалены.)
каждый раз тестеры/кастомеры жалуются что приложение работает слишком медленно или слишком быстро - появляется либо новый if со слипом, либо новый else со слипом. за два года существования, вот до этого "полного" дерева доросло. и все равно не работает как надо. :)
−99
- (void)selectCurrentItem
{
NSInteger index = 0;
BOOL fl = NO;
BOOL fl2 = YES;
BOOL fl3 = YES;
if (self.currentScheme == LeftPanelSchemeFriendsDetail) {
if (!self.selectedGenre) {
fl3 = NO;
} else {
fl3 = YES;
}
}
if (!self.selectCurrentItemOnes) {
self.needShowFriendsDetail = NO;
}
if (self.selectedItem && (self.needSelectCurrentItem || !self.selectCurrentItemOnes) && fl3) {
if ([self.news containsObject:self.selectedItem]) {
index = [self.news indexOfObject:self.selectedItem];
if ([self.news containsObject:self.selectedItem]) {
if (index == [self.news indexOfObject:self.selectedItem]) {
fl = YES;
if (self.currentScheme == LeftPanelSchemeFriendsMap) {
self.needShowFriendsDetail = NO;
if (self.downButton.enabled) {
self.needShowFriendsDetail = NO;
[self updateDownPressed];
fl2 = NO;
} else {
}
}
}
}
}
}
if ([self.tableView numberOfRowsInSection:0] && fl2) {
[self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:index inSection:0] animated:YES scrollPosition:UITableViewScrollPositionMiddle];
[self selectRowAtIndexPath:[NSIndexPath indexPathForRow:index inSection:0]];
if (fl) {
self.selectCurrentItemOnes = YES;
fl = NO;
}
}
}
+153
if ((this.formType.urlParam === 'sell1') || (this.formType.urlParam === 'supply1')) {
url = 'sell-return-list';
} else if ((this.formType.urlParam === 'sell2') || (this.formType.urlParam === 'supply2')) {
url = 'buy-return-list';
} else if ((this.formType.urlParam === 'service1') || (this.formType.urlParam === 'service2')) {
url = 'get-service-list';
} else {
url = 'provide-service-list';
}
Ниньзя стайл
+18
template <typename TYPE> class Ptr
{
public:
Ptr():
Pointer_(0),
IsValid_(false)
{
}
Ptr( const Ptr<TYPE> &other )
{
this->Pointer_ = other.Pointer_;
this->IsValid_ = other.IsValid_;
}
Ptr( TYPE* &ptr ):
IsValid_(true)
{
if ( std::find( Ptr<TYPE>::List_.begin(), Ptr<TYPE>::List_.end(), ptr ) == Ptr<TYPE>::List_.end() )
Ptr<TYPE>::List_.push_back( ptr );
this->Pointer_ = ptr;
}
~Ptr()
{
}
inline Ptr<TYPE>& operator = ( const Ptr<TYPE> &other )
{
this->Pointer_ = other.Pointer_;
this->IsValid_ = other.IsValid_;
return *this;
}
inline Ptr<TYPE>& operator = ( TYPE* &ptr )
{
if ( std::find( Ptr<TYPE>::List_.begin(), Ptr<TYPE>::List_.end(), ptr ) == Ptr<TYPE>::List_.end() )
Ptr<TYPE>::List_.push_back( ptr );
this->Pointer_ = ptr;
this->IsValid_ = true;
return *this;
}
inline bool operator == ( const Ptr<TYPE> &other )
{
return (this->Pointer_ == other.Pointer_) ? true:false;
}
inline bool operator != ( const Ptr<TYPE> &other )
{
return (this->Pointer_ != other.Pointer_) ? true:false;
}
inline TYPE* operator -> ()
{
return this->Pointer_;
}
inline bool isValid() const
{
if (!this->IsValid_)
return false;
return this->IsValid_ = ( (std::find( Ptr<TYPE>::List_.begin(), Ptr<TYPE>::List_.end(), this->Pointer_ ) == Ptr<TYPE>::List_.end() ) ? false:true );
}
inline void release()
{
if ( this->isValid() )
{
Ptr<TYPE>::List_.erase( std::find( Ptr<TYPE>::List_.begin(), Ptr<TYPE>::List_.end(), this->Pointer_ ) );
delete this->Pointer_;
}
this->Pointer_ = 0;
this->IsValid_ = false;
}
inline TYPE* get()
{
return this->Pointer_;
}
private:
TYPE* Pointer_;
mutable bool IsValid_;
static std::list < TYPE* > List_;
};
template <typename TYPE> std::list < TYPE* > Ptr<TYPE>::List_;
+107
public Quote[] ParseQuotesFromFile(string p){
HtmlDocument d = new HtmlDocument();
d.Load(p, new UTF8Encoding());
#if !DEBUG
return
#endif
#if DEBUG
var v1 =
#endif
d.GetElementbyId("body")//main div
#if DEBUG
; var v2 = v1
#endif
.ChildNodes//subnodes
#if DEBUG
; var v3 = v2
#endif
.Where(a => a.Attributes.Contains("class"))//nodes with classes
#if DEBUG
; var v4 = v3
#endif
.Where(a => a.Attributes["class"].Value == "quote")//quotes
#if DEBUG
; var v5 = v4
#endif
.Where(a => a.ChildNodes.Any(b => b.Attributes.Contains("class")))//only real quotes
#if DEBUG
; var v6 = v5
#endif
.Select(a => a.ChildNodes.Where(b => b.Attributes.Contains("class")).ToArray())//only usable
#if DEBUG
; var v7 = v6
#endif
.Where(a => a.Length == 2)//drop ads
#if DEBUG
; var v8 = v7
#endif
.Select(a => new Quote()
{
Text = conv.HtmlSpecialCharsDecode(a.First(b => b.Attributes["class"].Value == "text").InnerHtml.Replace("<br>", "\r\n"),StringTools.ReplaceType.Both),
ID=BadParse(GetIdString(a)),
Score=BadParse(GetScoreString(a))})
#if DEBUG
; var v9 = v8
#endif
.ToArray();
#if DEBUG
return v9;
#endif
} private static string GetScoreString(HtmlNode[] a){
#if !DEBUG
return
#endif
#if DEBUG
var v1 =
#endif
a.First(b => b.Attributes["class"].Value == "actions")
#if DEBUG
; var v2 = v1
#endif
.ChildNodes.Where(b => b.Name != "#text")
#if DEBUG
; var v3 = v2
#endif
.First(b => b.Attributes["class"].Value == "rating-o")
#if DEBUG
; var v4 = v3
#endif
.FirstChild
#if DEBUG
; var v5 = v4
#endif
.InnerText;
#if DEBUG
return v5;
#endif
} private static string GetIdString(HtmlNode[] a) {
#if !DEBUG
return
#endif
#if DEBUG
var v1=
#endif
a.First(b => b.Attributes["class"].Value == "actions")
#if DEBUG
; var v2 = v1
#endif
.ChildNodes.Where(b => b.Name != "#text")
#if DEBUG
; var v3 = v2
#endif
.First(b => b.Attributes["class"].Value == "id")
#if DEBUG
; var v4 = v3
#endif
.InnerText.Replace("#", "");
#if DEBUG
return v4;
#endif
}
Это должен был быть парсер bash.org.ru
Самоое странное, что код даже работает
+8
bool ASN1Parser::ConvertOID(const ASN1Block &blk, char *oid, unsigned int bufSize) {
int a = 0;
bool first = true;
char tmp[32];
oid[0] = 0;
for (unsigned int i=0;i<blk.size;i++) {
unsigned char c = data[blk.offset+i];
if (c & 0x80) {
a = (a << 7) | (c & 0x7F);
} else {
a = (a << 7) | (c & 0x7F);
if (!first) {
sprintf(tmp,".%d",a);
} else {
sprintf(tmp,"%d.%d",a/40,a%40);
}
a=0;
first = false;
if (strlen(tmp) >= bufSize) return false;
strcat(oid, tmp);
}
}
return true;
}
И еще один говнокодец на тему ASN.1 - распаковка OID'а.
Кто найдет ошибку - получит пирожок с полочки ;)
+24
#include <stdio.h>
#include "gost.h"
int main() {
MemoryFile mf("root.cer");
MemoryFile mf2("test.cer");
ASN1Parser parser(mf);
ASN1Parser parser2(mf2);
ASN1Block e1[2];
parser.Split("30{30{A0#,02$1,30#,30#,30#,30#,30{30#,03$2},A3#},30#,03#}", e1);
unsigned char px[32], py[32], r[32], s[32], h[32];
for (int i=0;i<32;i++) {
px[i] = mf.data[e1[1].offset+i+3];
py[i] = mf.data[e1[1].offset+i+35];
}
parser2.Split("30{30$1,30#,03$2}", e1);
for (int i=0;i<32;i++) {
r[i] = mf2.data[e1[1].offset+64-i];
s[i] = mf2.data[e1[1].offset+32-i];
}
Gost3411 hash;
hash.AddData(mf2.data+e1[0].offset-4, e1[0].size+4);
hash.Finish(h);
Gost3410 g;
if (!g.VerifySignature(h, px, py, r, s)) {
printf("Invalid!");
} else {
printf("Valid!");
}
return 0;
}
Продолжение http://govnokod.ru/11528. Вот так я проверял валидность сертификата...
Прекрасные говорящие имена переменных...
Удобный парсер ASN.1...
Отличная инкапсуляция...
Ни одного магического числа...