- 1
#if defined(SOCI_MYSQL_FOUND) && SOCI_MYSQL_FOUND != 0
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 33
−12
#if defined(SOCI_MYSQL_FOUND) && SOCI_MYSQL_FOUND != 0
t-odbo/os-odbo.cpp:890:51: error: operator
'&&' has no right operand
−20
if (setrlimit(RLIMIT_NOFILE, &rl) < 0) {
err = "sshttp::init::setrlimit:";
err = strerror(errno);
return -1;
}
https://github.com/stealth/sshttp/blob/master/sshttp.cc
Хоть я и нашёл эту ошибку, завести его в lxc так и не удалось. Первое соединение зависает, а остальные выдают connection reset by peer
Ищутся другие способы выжить с одним ssh портом
−22
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
[DllImport("user32.dll", EntryPoint = "SetWindowPos")]
public static extern IntPtr SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int x, int Y, int cx, int cy, int wFlags);
https://github.com/skypeopensource/skypeopensource2/blob/master/EpycsMessenger2/EpycsMessenger2/Form1.cs
Я шорпов не знаю, но мне кажется, что что-то тут не так
−49
void CL_SendDisconnectMessage( void )
{
sizebuf_t buf;
byte data[32];
if( cls.state == ca_disconnected ) return;
BF_Init( &buf, "LastMessage", data, sizeof( data ));
BF_WriteByte( &buf, clc_stringcmd );
BF_WriteString( &buf, "disconnect" );
if( !cls.netchan.remote_address.type )
cls.netchan.remote_address.type = NA_LOOPBACK;
// make sure message will be delivered
Netchan_Transmit( &cls.netchan, BF_GetNumBytesWritten( &buf ), BF_GetData( &buf ));
Netchan_Transmit( &cls.netchan, BF_GetNumBytesWritten( &buf ), BF_GetData( &buf ));
Netchan_Transmit( &cls.netchan, BF_GetNumBytesWritten( &buf ), BF_GetData( &buf ));
}
Ну чтоб наверняка.
−51
xash_force_inline size_t Q_strncat( char *dst, const char *src, size_t size )
{
register const char *pchr;
register const unsigned int *plongword;
register unsigned int *pdst;
register unsigned int len;
const unsigned int himagic = 0x80808080, lomagic = 0x01010101;
if( !dst || !src || !size )
return 0;
len = Q_strlen( dst );
dst += len;
if( ( unsigned long int )src & ( sizeof( int ) - 1) != ( unsigned long int )dst & ( sizeof( int ) - 1) )
return len + Q_strncpy_unaligned( dst, src, size - len );
// first, copy all unaligned bytes
for( pchr = src; ( ( unsigned long int )pchr & ( sizeof( int ) - 1) ) != 0; pchr++, len++, dst++ )
{
*dst = *pchr;
if( len >= size )
{
*dst = '\0';
return len;
}
if( *pchr == '\0' )
return len;
}
plongword = ( const unsigned int * ) pchr;
pdst = ( unsigned int * ) dst;
// plongword is aligned now, copy by 4 bytes
while( true )
{
register unsigned int longword = *plongword++;
// if magic check failed
if( ( ( longword - lomagic ) & himagic ) != 0 || (size - len < 4) )
{
const char *pchar = ( const char * )( plongword - 1 );
char *pchdst = ( char * )( pdst );
int i;
for( i = 0; i < 4; i++ )
{
pchdst[i] = pchar[i];
if( len + i >= size )
{
pchdst[i] = '\0';
return len + i;
}
if( pchar[i] == 0 )
return len + i;
}
}
len += sizeof( longword );
*pdst++ = longword;
}
return 0;
}
/*
* sanity checker
xash_force_inline size_t Q_strncat( char *dst, const char *src, size_t size )
{
char buf1[100000], buf2[100000], r1, r2;
if( !dst || !src || !size )
return 0;
if( size > 99999 )
size = 99999;
strncpy( buf1, dst, size );
strncpy( buf2, dst, size );
buf1[99999] = buf2[99999] = 0;
r1 = Q_strncat_( buf1, src, size );
r2 = Q_strncat2( buf2, src, size );
if( r1 != r2 )
printf("DIFFERENT RESULT %d %d %d %d %s\n%s\n", r1, r2, aligned, counter, buf1, src);
if( strcmp( buf1, buf2 ) )
{
printf("DIFFERENT DATA %s %d %d %d %4s\n", src, size, aligned, counter, last);
printf("1: %s\n", buf1);
printf("2: %s\n", buf2);
}
//strncpy( dst, buf1, size );
return Q_strncat2(dst, src, size);
}
*/
Оптимизация удалась, однако при виде этого кода становится не по себе. Что можно с этим сделать?
−46
int main()
{
setuid(0);
return system("echo mem > /sys/power/state");
}
А ведь году в 2012 это ещё решалось через consolekit
−48
typedef float vec_t;
...
typedef vec_t matrix3x4[3][4];
...
void Matrix3x4_ConcatTransforms( matrix3x4 out, const matrix3x4 in1, const matrix3x4 in2 );
...
static matrix3x4 g_bonestransform[MAXSTUDIOBONES];
static matrix3x4 g_rotationmatrix;
...
matrix3x4 bonematrix;
...
Matrix3x4_ConcatTransforms( g_bonestransform[i], g_rotationmatrix, bonematrix );
Поясните, что не так?
Ругань gcc такова:
client/gl_studio.c:1076:5: warning: passing argument 2 of ‘Matrix3x4_ConcatTransforms’ from incompatible pointer type [enabled by default]
common/mathlib.h:144:6: note: expected ‘const vec_t (*)[4]’ but argument is of type ‘vec_t (*)[4]’
client/gl_studio.c:1076:5: warning: passing argument 3 of ‘Matrix3x4_ConcatTransforms’ from incompatible pointer type [enabled by default]
common/mathlib.h:144:6: note: expected ‘const vec_t (*)[4]’ but argument is of type ‘vec_t (*)[4]’
Ведь в функцию, принимающую const char* можно передавать char*? Что же тогда с матрицами то не так?
−48
#include <gtk/gtk.h>
int main(int argc, char *argv[], GtkWidget* vbox) {
GtkWidget *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_default_size(GTK_WINDOW(window), 450, 700);
gtk_window_set_title(GTK_WINDOW(window), "Model Viewer (Version 36)");
//test();
menubar(window);
opengl(window);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
https://www.linux.org.ru/forum/development/12523254
+4
typedef class foo_c{
...
} foo_t;
Почему мне хочется использовать такой синтаксис?
−51
f="effects.h *.cpp"
for m in SetThink SetTouch SetUse SetBlocked SetMoveDone; do
m2=`echo $m|sed -e s/Set/Reset/`
sed -e s/$m[[:space:]]\*\([[:space:]]\*/$m\(/g -e s/$m\([[:space:]]\*\\\&/$m\(/g -e s/$m\([[:space:]]\*NULL[[:space:]]\)/$m2\(\)/g -e s/$m\([[:space:]]*/$m\(\ \\\&/g -e s/$m2\(\)/$m\(\ NULL\ \)/g -i $f
done
Добиваемся сборки http://govnokod.ru/18975 в gcc, не ломая совместимости с уже исправленным кодом