- 1
- 2
- 3
/*
удалено по просьбе правообладателя
*/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+14
/*
удалено по просьбе правообладателя
*/
Думал я, что меня уже так просто не удивишь, пока не увидел ЭТО!
+1006
if(cond) {
#define INIT_COUNT 1
} else {
#define INIT_COUNT 2
}
Тот, кто показал мне этот кусочек кода, был очень удивлем тем , что все время выполняется только ветка else.
+1000
int cutNCountLt3(char *in, char *out, long min) {
int lt3 = 0;
char *i = in, *j = in, *k = out;
while (*j && *i) {
j = i;
while (*j != ' ' && *j)
*k++ = *j++;
*k++ = *j;
int len = j - i;
lt3 += len < 3;
if (len < min)
*(k -= len + 1) = '\0';
i = j + 1;
}
return lt3;
}
К #9911
А конкретнее http://govnokod.ru/9911#comment295215
После нескольких ревизий в комментах, подумал, что наложить здесь будет лучше... Прошу любить, но не жаловать
+973
/* */
int fooBar() {
/* do something */
/* - */ return NULL;
/* + */ return 0ULL;
}
> src/foobar.c:42:3: warning: return makes integer from pointer without a cast
> return NULL;
П О Ч И Н Е Н О
#17766
+142
int do_execve(const char *filename,
const char __user *const __user *__argv,
const char __user *const __user *__envp,
struct pt_regs *regs)
{
struct user_arg_ptr argv = { .ptr.native = __argv };
struct user_arg_ptr envp = { .ptr.native = __envp };
/* exec mt_debug*/
int ret;
int retry = 3;
do{
ret = do_execve_common(filename, argv, envp, regs);
printk(KERN_DEBUG"[exec] %s(%d)\n", filename, retry);
}while( -999 == ret && retry-- > 0);
return ret;
}
Ядро от MTK. Они логгируют каждый exec на уровне ядра.
+140
int __STRNCMP__(const char s1, const char s2, size_t n)
{
for (; n > 0; s1++, s2++, --n)
if (s1 != s2)
return (((unsigned char )s1 < (unsigned char )s2) ? -1 : +1);
else if (*s1 == '\0')
return 0;
return 0;
}
Зачем нужен такой велосипед?
+141
void perestanovka(int a[13][13], int n, int m){
int maxim, minim, temp,i;
for (i=0; i<n; i++){
minim=0;
for (int j=1; j<m; j++){
if(a[i][j]<a[i][minim]) minim=j;
}
temp=a[i][0];
a[i][0]=a[i][minim];
a[i][minim]=temp;}
for (int j=0; i<n; i++){
maxim=0;
for (int j=1; j<m; j++){
if(a[i][j]>a[i][maxim]) maxim=j;
}
temp=a[i][m-1];
a[i][m-1]=a[i][maxim];
a[i][maxim]=temp; }
}
+142
#include <stdio.h>
#include <stdlib.h>
#include <gb/gb.h>
#include <gb/drawing.h>
#include <rand.h>
#define OBJ_EMPTY 0
#define OBJ_PLAYER 1
#define OBJ_ENEMY 2
void clearscr(void);
void waitbuttona(void);
void initgame(void);
void setcubemem(UINT8 formerx,UINT8 formery);
void enemy(void);
void wingame(void);
int game_field[5][5];
int cube_x = 2;
int cube_y = 3;
int fcx = 0;
int fcy = 0;
UINT8 genenemy = 0;
UINT8 button;
int pointx = 0;
int pointy = 0;
int i = 0;
int u = 0;
int main()
{
initrand(31415);
printf("Running Cube");
waitbuttona();
clearscr();
initgame();
while(1)
{
clearscr();
button = joypad();
fcx = cube_x;
fcy = cube_y;
genenemy = rand();
if(button == J_UP){ cube_x--; setcubemem(fcx,fcy); }
if(button == J_DOWN){ cube_x++; setcubemem(fcx,fcy);}
if(button == J_LEFT){ cube_y--; setcubemem(fcx,fcy);}
if(button == J_RIGHT){ cube_y++; setcubemem(fcx,fcy);}
box(cube_y*20,cube_x*20,cube_y*20+10,cube_x*20+10,M_FILL);
if(genenemy % 4 == 0) enemy();
}
return(0);
}
void clearscr(void)
{
color(WHITE,WHITE,SOLID);
box(0,0,GRAPHICS_WIDTH,GRAPHICS_HEIGHT);
color(BLACK,WHITE,SOLID);
}
void waitbuttona(void)
{
while(1)
{
if(joypad() == J_A) break;
}
}
void setcubemem(UINT8 formerx,UINT8 formery)
{
game_field[formerx][formery] = 0;
game_field[cube_x][cube_y] = OBJ_PLAYER;
}
void initgame(void)
{
game_field[2][3] = OBJ_PLAYER;
}
void enemy(void)
{
initrand(2);
game_field[rand()][rand()] = OBJ_ENEMY;
circle(3*20,1*20,20,1);
if(game_field[cube_x-2][cube_y-2] == OBJ_ENEMY || game_field[cube_x-1][cube_y-1] == OBJ_ENEMY || game_field[cube_x][cube_y] == OBJ_ENEMY || game_field[cube_x+1][cube_y+1] == OBJ_ENEMY || game_field[cube_x+2][cube_y+2] == OBJ_ENEMY)
{
wingame();
}
}
void wingame(void)
{
clearscr();
gotogxy(40,50);
gprintf("You've won!");
delay(1000);
reset();
}
Игра на Gameboy Classic(GBDK,написана мною). Без комментариев.
+145
{"Windows 2013", NULL, 0, ACPI_OSI_WIN_8}, /* Windows 8.1 and Server 2012 R2 - Added 01/2014 */
3 вечера ёбли... 20+ собранных ядер во время бисекта и экспериментов...
А всё из-за пидорасов из acer, которые воткнули в свою прошивку какой-то костыль для windows 8.1, который ломал все свежие ядра линухи (а если не совсем ломал - то не работал тачпад). И из-за пидорасов из других вендоров, которые вынудили линукс прикидываться свежей виндой.
+141
WIN32DLL_DEFINE int _mcrypt_set_key(RI * rinst, byte * key, int nk)
{ /* blocksize=32*nb bits. Key=32*nk bits */
...
int nb = 8; /* 256 block size */
int i, j, k, m, N;
int C1, C2, C3;
word32 CipherKey[8];
nk /= 4;
...
rinst->Nb = nb;
rinst->Nk = nk;
...
if (rinst->Nb < 8) { /* что-что? */
...
} else {
...
}
...
N = rinst->Nb * (rinst->Nr + 1);
for (i = j = 0; i < rinst->Nk; i++, j += 4) { /* а вдруг Nk больше 8? */
CipherKey[i] = pack(&key[j]);
}
...
}
Реализация блочного симметричного шифрования Rijndael-256 в libmcrypt.
Прим.: libmcrypt используется как "криптографическое расширение" в PHP.