- 1
return (true == is_break) ? resource : NULL;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+135
return (true == is_break) ? resource : NULL;
Вонъ изъ профессiи!
+131
// bg_pmove.c -- both games player movement code
// takes a playerstate and a usercmd as input and returns a modifed playerstate
Дальше идут 11 тысяч строк нечитаемого говна. Это вообще нормально?!
+136
int Sys_FunctionCmp(void *f1, void *f2) {
int i, j, l;
byte func_end[32] = {0xC3, 0x90, 0x90, 0x00};
byte *ptr, *ptr2;
byte *f1_ptr, *f2_ptr;
ptr = (byte *) f1;
if (*(byte *)ptr == 0xE9) {
//Com_Printf("f1 %p1 jmp %d\n", (int *) f1, *(int*)(ptr+1));
f1_ptr = (byte*)(((byte*)f1) + (*(int *)(ptr+1)) + 5);
}
else {
f1_ptr = ptr;
}
//Com_Printf("f1 ptr %p\n", f1_ptr);
ptr = (byte *) f2;
if (*(byte *)ptr == 0xE9) {
//Com_Printf("f2 %p jmp %d\n", (int *) f2, *(int*)(ptr+1));
f2_ptr = (byte*)(((byte*)f2) + (*(int *)(ptr+1)) + 5);
}
else {
f2_ptr = ptr;
}
//Com_Printf("f2 ptr %p\n", f2_ptr);
#ifdef _DEBUG
sprintf((char *)func_end, "%c%c%c%c%c%c%c", 0x5F, 0x5E, 0x5B, 0x8B, 0xE5, 0x5D, 0xC3);
#endif
for (i = 0; i < 1024; i++) {
for (j = 0; func_end[j]; j++) {
if (f1_ptr[i+j] != func_end[j])
break;
}
if (!func_end[j]) {
break;
}
}
#ifdef _DEBUG
l = i + 7;
#else
l = i + 2;
#endif
//Com_Printf("function length = %d\n", l);
for (i = 0; i < l; i++) {
// check for a potential function call
if (*((byte *) &f1_ptr[i]) == 0xE8) {
// get the function pointers in case this really is a function call
ptr = (byte *) (((byte *) &f1_ptr[i]) + (*(int *) &f1_ptr[i+1])) + 5;
ptr2 = (byte *) (((byte *) &f2_ptr[i]) + (*(int *) &f2_ptr[i+1])) + 5;
// if it was a function call and both f1 and f2 call the same function
if (ptr == ptr2) {
i += 4;
continue;
}
}
if (f1_ptr[i] != f2_ptr[i])
return qfalse;
}
return qtrue;
}
Хмм...
+132
#ifndef M_PI
#define M_PI 3.14159265358979323846f // matches value in gcc v2 math.h
#endif
Сишкопроблемы.
+133
bool findImageToleranceIn(CTSInfo *info, bitmap *imageToFind, int32_t *x, int32_t *y, int32_t x1, int32_t y1, int32_t x2, int32_t y2, uint16_t tolerance)
{
int I, J, XX, YY;
info->tol = tolerance;
int dX = (x2 - x1) - (imageToFind->width - 1);
int dY = (y2 - y1) - (imageToFind->height - 1);
for (I = 0; I < dY; ++I)
{
for (J = 0; J < dX; ++J)
{
for (YY = 0; YY < imageToFind->height; ++YY)
{
for (XX = 0; XX < imageToFind->width; ++XX)
{
rgb32* pixel = &imageToFind->pixels[YY * imageToFind->width + XX];
rgb32* targetPixel = &info->targetImage->pixels[(YY + I) * info->targetImage->width + (XX + J)];
if (pixel->a != 0)
{
if (!(*info->ctsFuncPtr)(info, pixel, targetPixel))
{
goto Skip;
}
}
}
}
*x = J + x1;
*y = I + y1;
return true;
Skip:
continue;
}
}
*x = -1;
*y = -1;
return false;
}
В чём здесь сакральный смысл GoTo?
+132
bool bitmap_to_24bit_string(bitmap *bmp, char **str, uint32_t *len)
{
if (!bmp || !bmp->pixels)
return false;
int I, J;
uint32_t size = ((bmp->width * 24 + 31) / 32) * 4 * bmp->height;
rgb24 *pixels = malloc(size);
if (pixels)
{
for (I = 0; I < bmp->height; ++I)
{
for (J = 0; J < bmp->width; ++J)
{
pixels[I * bmp->width + J].b = bmp->pixels[I * bmp->width + J].r;
pixels[I * bmp->width + J].g = bmp->pixels[I * bmp->width + J].g;
pixels[I * bmp->width + J].r = bmp->pixels[I * bmp->width + J].b;
}
}
uint32_t destlen = compressBound(size);
*str = malloc(destlen);
if (*str)
{
if (compress((Bytef *)*str, (uLongf *)&destlen, (Bytef *)pixels, size) == Z_OK)
{
free(pixels);
pixels = NULL;
char *b64str;
uint32_t b64_len;
if (base64encode((const uint8_t *)*str, destlen, &b64str, &b64_len))
{
free(*str);
*str = b64str;
*len = b64_len + 2;
b64str = malloc(*len);
if (b64str)
{
b64str[0] = 'm';
strncpy(&b64str[1], *str, b64_len);
free(*str);
*str = b64str;
(*str)[b64_len + 1] = '';
return true;
}
}
}
free(*str);
*len = 0;
*str = NULL;
}
free(pixels);
}
return false;
}
Ещё подкину в общую копилку
+136
char *stringFromDTM(MDTM *dtm)
{
if (dtm->count < 1)
return "";
uint32_t size = (sizeof(MDTMPoint) + sizeof(uint32_t)) * dtm->count;
void *data = calloc(1, size);
uint32_t *ptr = data;
*(ptr++) = size;
uint32_t index;
for (index = 0; index < dtm->count; index++)
*(ptr++) = dtm->points[index].x;
for (index = 0; index < dtm->count; index++)
*(ptr++) = dtm->points[index].y;
for (index = 0; index < dtm->count; index++)
*(ptr++) = dtm->points[index].color;
for (index = 0; index < dtm->count; index++)
*(ptr++) = dtm->points[index].tol;
for (index = 0; index < dtm->count; index++)
*(ptr++) = dtm->points[index].size;
for (index = 0; index < dtm->count; index++)
*(ptr++) = dtm->points[index].x;
bool *bptr = (bool *)ptr;
for (index = 0; index < dtm->count; index++)
*(bptr++) = dtm->points[index].bad;
uint32_t len = compressBound(size);
char *buffer = malloc(len);
if (compress((Bytef *)buffer, (uLongf *)&len, data, size) == Z_OK)
{
free(data);
char *compressed = malloc(len + sizeof(uint32_t));
*((uint32_t *)(compressed)) = len;
strcpy(compressed + sizeof(uint32_t), buffer);
free(buffer);
}
free(buffer);
free(data);
return "";
}
Я так и не раскурил, почему так, а не иначе.
+133
if (*wpPat == L'\\')
{
wpCharStart=wpPat;
if (++wpPat >= wpMaxPat) goto Error;
if (*wpPat == L'x')
{
if (++wpPat >= wpMaxPat) goto Error;
if (*wpPat == L'{')
{
wpStrTmp=++wpPat;
for (;;)
{
if (wpPat >= wpMaxPat) goto Error;
if (*wpPat++ == L'}') break;
}
if (lpREGroupItem->nGroupLen != -1 && !bClassOpen)
{
nPatChar=(int)hex2decW(wpStrTmp, (wpPat - 1) - wpStrTmp);
if (nPatChar == -1)
{
wpPat=wpStrTmp;
goto Error;
}
if (nPatChar <= MAXWORD)
lpREGroupItem->nGroupLen+=1;
else
lpREGroupItem->nGroupLen+=2;
}
}
else
{
if (wpPat + 2 > wpMaxPat)
goto Error;
wpPat+=2;
if (lpREGroupItem->nGroupLen != -1 && !bClassOpen)
++lpREGroupItem->nGroupLen;
}
}
else if (*wpPat == L'u')
{
if (wpPat + 5 > wpMaxPat)
goto Error;
wpPat+=5;
if (lpREGroupItem->nGroupLen != -1 && !bClassOpen)
++lpREGroupItem->nGroupLen;
}
Регулярные велосипеды.
Akelpad.
+133
if (wParam == MI_CMDLINEBEGIN)
return xstrcpyW((void *)lParam, wpCmdLineBegin);
if (wParam == MI_CMDLINEEND)
return xstrcpyW((void *)lParam, wpCmdLineEnd);
if (wParam == MI_SHOWMODIFY)
return moCur.dwShowModify;
if (wParam == MI_STATUSPOSTYPE)
return moCur.dwStatusPosType;
if (wParam == MI_STATUSUSERFORMAT)
return xstrcpynW((void *)lParam, moCur.wszStatusUserFormat, MAX_PATH);
if (wParam == MI_WORDBREAKCUSTOM)
return moCur.dwWordBreakCustom;
if (wParam == MI_PAINTOPTIONS)
return moCur.dwPaintOptions;
if (wParam == MI_EDITSTYLE)
return moCur.dwEditStyle;
if (wParam == MI_RICHEDITCLASS)
return moCur.bRichEditClass;
if (wParam == MI_AKELADMINRESIDENT)
return moCur.bAkelAdminResident;
if (wParam == MI_DATELOGFORMAT)
return xstrcpynW((void *)lParam, moCur.wszDateLogFormat, 128);
if (wParam == MI_DATEINSERTFORMAT)
return xstrcpynW((void *)lParam, moCur.wszDateInsertFormat, 128);
if (wParam == MI_AKELUPDATEROPTIONS)
return xstrcpynW((void *)lParam, moCur.wszAkelUpdaterOptions, MAX_PATH);
if (wParam == MI_URLCOMMAND)
return xstrcpynW((void *)lParam, moCur.wszUrlCommand, MAX_PATH);
if (wParam == MI_TABNAMEFIND)
return xstrcpynW((void *)lParam, moCur.wszTabNameFind, MAX_PATH);
if (wParam == MI_TABNAMEREP)
return xstrcpynW((void *)lParam, moCur.wszTabNameRep, MAX_PATH);
if (wParam == MI_ONTOP)
return moCur.bOnTop;
if (wParam == MI_STATUSBAR)
return moCur.bStatusBar;
if (wParam == MI_KEEPSPACE)
return moCur.bKeepSpace;
if (wParam == MI_WATCHFILE)
return moCur.bWatchFile;
if (wParam == MI_SAVETIME)
return moCur.bSaveTime;
if (wParam == MI_SINGLEOPENFILE)
return moCur.bSingleOpenFile;
if (wParam == MI_SINGLEOPENPROGRAM)
return moCur.dwSingleOpenProgram;
if (wParam == MI_TABOPTIONSMDI)
return moCur.dwTabOptionsMDI;
if (wParam == MI_EXECUTECOMMAND)
И такого больше сотни строк.
Akelpad.
+132
LRESULT CALLBACK MainProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
if (uMsg == WM_CREATE)
{
int *lpSBParts;
int iBorders[3];
CLIENTCREATESTRUCT ccs;
DWORD dwClassStyle;
RECT rcRect;
HMENU hMenu;
hMainWnd=hWnd;
hPopupEdit=GetSubMenu(hPopupMenu, MENU_POPUP_EDIT);
hPopupView=GetSubMenu(hPopupMenu, MENU_POPUP_VIEW);
hPopupCodepage=GetSubMenu(hPopupMenu, MENU_POPUP_CODEPAGE);
hPopupOpenCodepage=GetSubMenu(hPopupCodepage, MENU_POPUP_CODEPAGE_OPEN);
hPopupSaveCodepage=GetSubMenu(hPopupCodepage, MENU_POPUP_CODEPAGE_SAVE);
hPopupHeadline=GetSubMenu(hPopupMenu, MENU_POPUP_HEADLINE);
hMenu=GetSubMenu(hMainMenu, MENU_FILE_POSITION);
hMenuRecentFiles=GetSubMenu(hMenu, MENU_FILE_RECENTFILES_4X);
hMenu=GetSubMenu(hMainMenu, MENU_VIEW_POSITION);
hMenuLanguage=GetSubMenu(hMenu, MENU_VIEW_LANGUAGE_4X);
Плотная простынка, спать можно.
Akelpad.