- 1
- 2
- 3
- 4
- 5
- 6
if(TouchRegist && !gIsCleanView && !gChangeZoom &&!gChangeBrightness)
if( TouchRegist && gChangeZoom)
{
...
}
break;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+136
if(TouchRegist && !gIsCleanView && !gChangeZoom &&!gChangeBrightness)
if( TouchRegist && gChangeZoom)
{
...
}
break;
+103
/* Copyright 2009 10gen Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* all the numbers that fit in a 4 byte string */
const char bson_numstrs[1000][4] = {
"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
/* 105 строк поскипано */
"980", "981", "982", "983", "984", "985", "986", "987", "988", "989",
"990", "991", "992", "993", "994", "995", "996", "997", "998", "999",
};
Взято отсюда - http://github.com/mongodb/mongo-c-driver/blob/master/src/numbers.c . А это коммит - http://github.com/mongodb/mongo-c-driver/commit/0198225180a51e0b0b8a84f25b34b3047d3b9c80
+144
bool somevar;
//... ... ...
if(somevar==true)doSomething();
И это в книге, по которой учат детей.
+144
if (nidx == -1) {
networkIdx = -1;
} else {
networkIdx = nidx;
}
+138
-(void)terminateSearchThreadInBackground:(NSNumber*)threadPtr
{
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
SearchThread* thread = (SearchThread*)[threadPtr unsignedLongValue];
delete thread;
[pool release];
}
И вновь я в шоке от нашего проекта. По какой-то неведомой причине передать в качестве параметра указатель на поток - это очень не трушно. Зато значительно более трушно - создать из него NSNumber, предварительно преобразовав к unsigned long...
+143
switch(pin){
case 0:
break;
case 1:
ADMUX = 1;
case 2:
ADMUX = 1 << 1;
case 3:
ADMUX = 1 | 1 << 1;
case 4:
ADMUX = 1 << 2;
case 5:
ADMUX = 1 | 1 << 2;
case 6:
ADMUX = 1 << 1 | 1 << 2;
}
Микроконтроллерный говнокод. Этот кусочек указывает, с какого вывода считывать показания АЦП. Эквивалент:
ADMUX |= pin;
+141
/* Putarc1 печатает точки, определяющие дугу от 0 до 45.*/
void Putarc1(HIMAGE *Im,short x, short y, short x_center, short y_center, unsigned char color){
int starty, endy, y1;
starty=y; endy=(y+1);
for (y1=starty;y1<endy;++y1) PutPoint(Im,y1+x_center,y_center-x,color);
}
/* Putarc2 печатает точки, определяющие дугу от 45 до 90.*/
void Putarc2(HIMAGE *Im,short x, short y, short x_center, short y_center, unsigned char color){
int startx, endx, x1;
startx=x; endx=(x+1);
for (x1=startx;x1<endx;++x1) PutPoint(Im,x1+x_center,y_center-y,color);
}
/* Putarc3 печатает точки, определяющие дугу от 90 до 135.*/
void Putarc3(HIMAGE *Im,short x, short y, short x_center, short y_center, unsigned char color){
int startx,endx,x1;
startx=x; endx=(x+1);
for (x1=startx;x1<endx;++x1) PutPoint(Im,x_center-x1,y_center-y,color);
}
/* Putarc4 печатает точки, определяющие дугу от 135 до 180.*/
void Putarc4(HIMAGE *Im,short x, short y, short x_center, short y_center,unsigned char color){
int starty,endy,y1;
starty=y; endy=(y+1);
for (y1=starty;y1<endy;++y1) PutPoint(Im,x_center-y1,y_center-x,color);
}
/* Putarc5 печатает точки, определяющие дугу от 180 до 225.*/
void Putarc5(HIMAGE *Im,short x, short y, short x_center, short y_center,unsigned char color){
int starty,endy,y1;
starty=y; endy=(y+1);
for (y1=starty;y1<endy;++y1) PutPoint(Im,x_center-y1,x+y_center,color);
}
/* Putarc6 печатает точки, определяющие дугу от 225 до 270.*/
void Putarc6(HIMAGE *Im,short x, short y, short x_center, short y_center,unsigned char color){
int startx,endx,x1;
startx=x*1.0; endx=(x+1)*1.0;
for (x1=startx;x1<endx;++x1) PutPoint(Im,x_center-x1,y+y_center,color);
}
/* Putarc7 печатает точки, определяющие дугу от 270 до 315.*/
void Putarc7(HIMAGE *Im,short x, short y, short x_center, short y_center, unsigned char color){
int startx, endx, x1;
startx=x; endx=(x+1);
for (x1=startx;x1<endx;++x1) PutPoint(Im,x1+x_center,y+y_center, color);
}
/* Putarc8 печатает точки, определяющие дугу от 315 до 360.*/
void Putarc8(HIMAGE *Im,short x, short y, short x_center, short y_center, unsigned char color) {
int starty,endy,y1;
starty=y; endy=(y+1);
for (y1=starty;y1<endy;++y1) PutPoint(Im,y1+x_center,x+y_center,color);
}
Рисуем дуги кусками по 45 градусов
+135
int param_check(char *func, ...) {
int fail;
va_list al;
if (!func) {
return(1);
}
va_start(al, func);
fail=0;
if (!strcmp(func, "vnetGenerateDHCP") || !strcmp(func, "vnetKickDHCP")) {
vnetConfig *a = va_arg(al, vnetConfig *);
if (!a) {
fail=1;
}
} else if (!strcmp(func, "vnetAddPublicIP") || !strcmp(func, "vnetAddDev")) {
vnetConfig *a = va_arg(al, vnetConfig *);
char *b = va_arg(al, char *);
if (!a || !b) {
fail=1;
}
} else if (!strcmp(func, "vnetAddHost")) {
vnetConfig *a = va_arg(al, vnetConfig *);
char *b = va_arg(al, char *);
char *c = va_arg(al, char *);
int d = va_arg(al, int);
if (!a || !b || (d < 0) || (d > NUMBER_OF_VLANS-1)) {
fail=1;
}
} else if (!strcmp(func, "vnetGetNextHost")) {
vnetConfig *a = va_arg(al, vnetConfig *);
char *b = va_arg(al, char *);
char *c = va_arg(al, char *);
int d = va_arg(al, int);
if (!a || !b || !c || d < 0 || d > NUMBER_OF_VLANS-1) {
fail=1;
}
} else if (!strcmp(func, "vnetDelHost") || !strcmp(func, "vnetEnableHost") || !strcmp(func, "vnetDisableHost")) {
vnetConfig *a = va_arg(al, vnetConfig *);
char *b = va_arg(al, char *);
char *c = va_arg(al, char *);
int d = va_arg(al, int);
if (!a || (!b && !c) || d < 0 || d > NUMBER_OF_VLANS-1) {
fail=1;
}
} else if (!strcmp(func, "vnetDeleteChain") || !strcmp(func, "vnetCreateChain")) {
vnetConfig *a = va_arg(al, vnetConfig *);
char *b = va_arg(al, char *);
char *c = va_arg(al, char *);
if (!a || !b || !c) {
fail=1;
}
} else if (!strcmp(func, "vnetTableRule")) {
vnetConfig *a = va_arg(al, vnetConfig *);
char *b = va_arg(al, char *);
char *c = va_arg(al, char *);
char *d = va_arg(al, char *);
char *e = va_arg(al, char *);
char *f = va_arg(al, char *);
char *g = va_arg(al, char *);
if (!a || !b || !c || !d || (!e && !f && !g)) {
fail=1;
}
} else if (!strcmp(func, "vnetSetVlan")) {
vnetConfig *a = va_arg(al, vnetConfig *);
int b = va_arg(al, int);
char *c = va_arg(al, char *);
char *d = va_arg(al, char *);
if (!a || b < 0 || b >= NUMBER_OF_VLANS || !c || !d) {
fail=1;
}
} else if (!strcmp(func, "vnetDelVlan")) {
vnetConfig *a = va_arg(al, vnetConfig *);
int b = va_arg(al, int);
if (!a || b < 0 || b >= NUMBER_OF_VLANS) {
fail=1;
}
} else if (!strcmp(func, "vnetInit")) {
vnetConfig *a = va_arg(al, vnetConfig *);
char *b = va_arg(al, char *);
char *c = va_arg(al, char *);
char *d = va_arg(al, char *);
int e = va_arg(al, int);
if (!a || !b || !c || d<0) {
fail=1;
}
}
va_end(al);
if (fail) {
logprintfl (EUCAERROR, "INTERNAL ERROR: incorrect input parameters to function %s\n", func);
return(1);
}
return(0);
}
+143
bool flag = getFlag();
switch (flag)
{
case true:
// do something
break;
case false:
// do something else
break;
default:
// do something more (??!)
}
бывает же...
+132
DWORD WINAPI readPort( LPVOID lpParam )
{
while (1)
{
if (brkListen)
break;
if (((Param*)(void*)lpParam)->port)
if (fgetc(((Param*)(void*)lpParam)->port)!=EOF);
((Param*)(void*)lpParam)->count++;
}
return 0;
}
Кусок программы подсчёта импульсов с оптопорта. Мало того что так делать плохо, так ещё один косяк есть. RS232 ниже 64 бод в винде не держит. так и не выяснил в физике это дело или в оси. Под RTEMS 6.04 64 бод на ура считалось.