- 1
- 2
- 3
- 4
if ( (value[0] - 'N') == 0 || (value[0] - 'n') == 0 )
val = 0;
if ( (value[0] - 'Y') == 0 || (value[0] - 'y') == 0 )
val = 1;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+105
if ( (value[0] - 'N') == 0 || (value[0] - 'n') == 0 )
val = 0;
if ( (value[0] - 'Y') == 0 || (value[0] - 'y') == 0 )
val = 1;
нет, просто сравнить - это слишком скучно и неоригинально.
ЗЫ от автора http://govnokod.ru/5034
+214
if(n!=3 && 0>0 && !false){
preditor.tstaCTZP_0_0.disabled=true;
}
конгениально
+130
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
#include <sys/wait.h>
void sighndlr_1(int signo) { //obrabot4ik dlya 1go processa
printf("I'm child process #1. I've got SIGINT! :) So, I won't do anything...\n"); //prosto vyvod na ekran soobscheniya o polu4enii signala
}
void sighndlr_2(int signo) { //dlhya 2go
printf("I'm child process #2. I've got SIGINT :)\n");
}
int main(int argc, char **argv) {
pid_t pid1,pid2,pid3,pid4; //4 do4ernih processa
static struct sigaction act1,act2,act3; //3 struktury dlya 3h processov
act1.sa_handler = sighndlr_1; //ustanovka obrabot4ika dlya 1 struktory
act2.sa_handler = sighndlr_2; //dlya 2i
act3.sa_handler = SIG_IGN; //ignoriruem signal v 3 strukture
switch(pid1 = fork()) { //sozdaem 1 do4erniy process
case -1: //vihodim pri oshibke sozdaniya
printf("Error fork\n");
exit(1);
break;
case 0:
printf("Child process #1 started (pid = %d)\n", getpid()); //soobshenie ob uspeshnom sozdanii i vyvod pid
sigaction(SIGINT,&act1,NULL); //ustanovka struktury obrabot4ika dlya SIGINT
for(;;) pause(); //beskone4nyi cikl
break;
default:
switch(pid2 = fork()) { //sozdaem 2 process
case -1:
printf("Error fork\n");
exit(1);
break;
case 0:
printf("Child process #2 started (pid = %d)\n", getpid());
sigaction(SIGINT,&act2,NULL); //dlya SIGINT
sigaction(SIGQUIT,&act3,NULL); //ignorim SIGQUIT
for(;;) pause();
break;
default:
switch(pid3 = fork()) { //3 process
case -1:
printf("Error fork\n");
exit(1);
break;
case 0:
printf("Child process #3 started (pid = %d)\n", getpid());
sigaction(SIGINT,&act3,NULL); //ignorim SIGINT
for(;;) pause();
break;
default:
switch(pid4 = fork()) { //4 process
case -1:
printf("Error fork\n");
exit(1);
break;
case 0:
printf("Child process #4 started (pid = %d)\n", getpid());
setsid(); //menyaem identifikator seansa dlya processa
printf("Process #4 changed sid\n");
for(;;) pause();
break;
default:
printf("Finishing parent process... (pid = %d)\n", getpid());
exit(0); //zavershaetsya roditelsky process
break;
}
break;
}
break;
}
break;
}
}
Лаба по курсу операционных систем. Нужно было создать 4 дочерних процесса, и для каждого процесса создать свои обработчики для сигнала SIGINT или SIGQUIT. Полученный говнокод полон повторяющихся конструкций, и слишком сильно запутан операторами switch-case.
+163
throw new TSilentException("");
+74
+103
Const MAX32 : DWord = $FFFFFFFF;
Var
State : Array[0..15] of DWord;
Count : Array[0..1] of DWord;
Len : Byte;
Buffer : Array[0..31] of Byte;
Procedure SHIFT12(var U : Array of DWord; var M : Array of DWord; var S : Array of DWord);
Begin
U[0] := M[0] xor S[6];
U[1] := M[1] xor S[7];
U[2] := M[2] xor (S[0] shl 16) xor (S[0] shr 16) xor (S[0] and $FFFF) xor
(S[1] and $FFFF) xor (S[1] shr 16) xor (S[2] shl 16) xor S[6] xor (S[6] shl 16) xor
(S[7] and $FFFF0000) xor (S[7] shr 16);
U[3] := M[3] xor (S[0] and $FFFF) xor (S[0] shl 16) xor (S[1] and $FFFF) xor
(S[1] shl 16) xor (S[1] shr 16) xor (S[2] shl 16) xor (S[2] shr 16) xor
(S[3] shl 16) xor S[6] xor (S[6] shl 16) xor (S[6] shr 16) xor (S[7] and $FFFF) xor
(S[7] shl 16) xor (S[7] shr 16);
U[4] := M[4] xor
(S[0] and $FFFF0000) xor (S[0] shl 16) xor (S[0] shr 16) xor
(S[1] and $FFFF0000) xor (S[1] shr 16) xor (S[2] shl 16) xor (S[2] shr 16) xor
(S[3] shl 16) xor (S[3] shr 16) xor (S[4] shl 16) xor (S[6] shl 16) xor
(S[6] shr 16) xor(S[7] and $FFFF) xor (S[7] shl 16) xor (S[7] shr 16);
U[5] := M[5] xor (S[0] shl 16) xor (S[0] shr 16) xor (S[0] and $FFFF0000) xor
(S[1] and $FFFF) xor S[2] xor (S[2] shr 16) xor (S[3] shl 16) xor (S[3] shr 16) xor
(S[4] shl 16) xor (S[4] shr 16) xor (S[5] shl 16) xor (S[6] shl 16) xor
(S[6] shr 16) xor (S[7] and $FFFF0000) xor (S[7] shl 16) xor (S[7] shr 16);
U[6] := M[6] xor S[0] xor (S[1] shr 16) xor (S[2] shl 16) xor S[3] xor (S[3] shr 16) xor
(S[4] shl 16) xor (S[4] shr 16) xor (S[5] shl 16) xor (S[5] shr 16) xor S[6] xor
(S[6] shl 16) xor (S[6] shr 16) xor (S[7] shl 16);
U[7] := M[7] xor (S[0] and $FFFF0000) xor (S[0] shl 16) xor (S[1] and $FFFF) xor
(S[1] shl 16) xor (S[2] shr 16) xor (S[3] shl 16) xor S[4] xor (S[4] shr 16) xor
(S[5] shl 16) xor (S[5] shr 16) xor (S[6] shr 16) xor (S[7] and $FFFF) xor
(S[7] shl 16) xor (S[7] shr 16);
End;
Procedure SHIFT16(var H : Array of DWord; var V : Array of DWord; var U : Array of DWord);
Begin
V[0] := H[0] xor (U[1] shl 16) xor (U[0] shr 16);
V[1] := H[1] xor (U[2] shl 16) xor (U[1] shr 16);
V[2] := H[2] xor (U[3] shl 16) xor (U[2] shr 16);
V[3] := H[3] xor (U[4] shl 16) xor (U[3] shr 16);
V[4] := H[4] xor (U[5] shl 16) xor (U[4] shr 16);
V[5] := H[5] xor (U[6] shl 16) xor (U[5] shr 16);
V[6] := H[6] xor (U[7] shl 16) xor (U[6] shr 16);
V[7] := H[7] xor (U[0] and $FFFF0000) xor (U[0] shl 16) xor (U[7] shr 16) xor
(U[1] and $FFFF0000) xor (U[1] shl 16) xor (U[6] shl 16) xor (U[7] and $FFFF0000);
End;
+90
if (name != null ? !name.equals(module.name) : module.name != null) return false;
return true;
+168
<?php
...
$string = array();
...
?>
−103
if (-e '/etc/passwd') {
# assume Unix
...
}
else {
# assume NT
...
}
так в круто-мегабаксовом ClearCase IBM программисты определяют в Перле запущен ли скрипт под Виндой или под *NIXком. наши админы долго смеялись, но по приколу сохранили этот кусок как было в оригинале.
+142
using System;
using System.IO;
using System.IO.Compression;
using System.Text;
using System.Net;
class Data : IDisposable
{
public void Dispose() { }
MemoryStream MemStr;
public Data(string Url)
{
UnZipFile(Url);
}
MemoryStream DownloadData(string Url)
{
using (WebClient Wc = new WebClient())
{
MemStr = new MemoryStream(Wc.DownloadData(Url));
}
return MemStr;
}
void UnZipFile(string Url)
{
MemoryStream MemStr = DownloadData(Url);
using (GZipStream ZipStr = new GZipStream(MemStr, CompressionMode.Decompress))
{
byte[] P = new byte[ZipStr.BaseStream.Length];
ZipStr.BaseStream.Read(P, 0, P.Length);
FileStream Fs = new FileStream("TmpFile.zip", FileMode.OpenOrCreate, FileAccess.ReadWrite);
Fs.Write(P, 0, P.Length);
Fs.Flush();
}
}
}
class Program
{
static void Main()
{
while (true)
{
Console.Write("\nPlease, insert link to download ZIP-file >> ");
string Abc = Console.ReadLine();
using (Data Obj = new Data(Abc)) ;
}
}
}