- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
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;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+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.
+143
fp_env = popen("env", "r");
не ну я даже не знаю.
+140
/*
* To the unenlightened: This sets the X (where X is variable between calls) LSB's of mask to 1.
*/
mask = ~(~0 << X);
Байтопроблемушки. Me gusta.
+143
/* Example libCello Program */
#include "Cello.h"
int main(int argc, char** argv) {
/* Stack objects are created using "$" */
var int_item = $(Int, 5);
var float_item = $(Real, 2.4);
var string_item = $(String, "Hello");
/* Heap objects are created using "new" */
var items = new(List, int_item, float_item, string_item);
/* Collections can be looped over */
foreach (item in items) {
/* Types are also objects */
var type = type_of(item);
print("Object %$ has type %$\n", item, type);
}
/* Heap objects destroyed with "delete" */
delete(items);
}
http://libcello.org/
+146
if((pDir = opendir(pchPath)) != NULL)
{
strcpy(chBuffer, pchPath);
strcat(chBuffer, "/");
while((pTemp == NULL) && ((pDirent = readdir(pDir)) != NULL))
{
if(((pChar = strstr(pDirent->d_name, Info.pchFilePrefix)) == pDirent->d_name) &&
((pChar = strstr(pDirent->d_name, Info.pchFileExtension)) != NULL) &&
(pChar[strlen(Info.pchFileExtension)] == '\0'))
{
sprintf(strrchr(chBuffer, '/') + 1, "%s", pDirent->d_name);
лаконичные программисты лаконично ходят по каталогам.
+142
do
{
...
} while ((strcmp(input,"") != 0)); /* till end of string */
нашел в прошивке одного очень известного производителя сетевого оборудования, они так парсят команды, введенные пользователем