- 1
$r = $this->client->getBerechneteGrundversorgungsTarifebyPLZundVerbrauchKundenart($this->params);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+167
$r = $this->client->getBerechneteGrundversorgungsTarifebyPLZundVerbrauchKundenart($this->params);
По сути не говнокод, но нечитабельность налицо...
+197
; загрузка из cfg-файла переменной Gravity
seg011:06CA fld [dbl_45A48] ; 0.2
seg011:06CF add sp, -8
seg011:06D2 fstp [bp+var_16] ; default=0.2
seg011:06D6 push ds
seg011:06D7 mov ax, offset aGravity
seg011:06DA push ax ; key="GRAVITY"
seg011:06DB wait
seg011:06DD push cs
seg011:06DE call near ptr cfg_ReadDbl
seg011:06E1 add sp, 12
seg011:06E4 fstp [curGravity] ; cur=cfg_ReadDbl()
; проверка загруженного значения на диапазон [0,05..10,0]
seg011:06E9 fld [flt10]
seg011:06EE add sp, -8
seg011:06F1 fstp [bp+var_16] ; max = 10.0
seg011:06F5 fld [minGravity]
seg011:06FA add sp, -8
seg011:06FD fstp [bp+var_1E] ; min = 0.05
seg011:0701 fld [curGravity]
seg011:0706 add sp, -8
seg011:0709 fstp [bp+var_26] ; cur
seg011:070D wait
seg011:070F push cs
seg011:0710 call near ptr CheckRangeDbl
seg011:0713 fstp st ; результат нах...
seg011:0716 add sp, 24
<....cut....>
; double CheckRangeDbl(double cur, double min, double max)
seg011:0077 proc CheckRangeDbl far
seg011:0077 var_2 = word ptr -2
seg011:0077 @@cur = qword ptr 6
seg011:0077 @@min = qword ptr 0Eh
seg011:0077 @@max = qword ptr 16h
seg011:0077 push bp
seg011:0078 mov bp, sp
seg011:007A dec sp
seg011:007B dec sp
seg011:007C fld [bp+@@cur]
seg011:0080 fcomp [bp+@@min]
seg011:0084 fnstsw [bp+var_2]
seg011:0088 wait
seg011:008A mov ax, [bp+var_2]
seg011:008D sahf
seg011:008E jnb @@chk_max ; if (cur < min)
seg011:0090 fld [bp+@@min] ; st(0) = min
seg011:0094 jmp @@exit
seg011:0096 @@chk_max: ; else
seg011:0096 fld [bp+@@cur]
seg011:009A fcomp [bp+@@max]
seg011:009E fnstsw [bp+var_2]
seg011:00A2 wait
seg011:00A4 mov ax, [bp+var_2]
seg011:00A7 sahf
seg011:00A8 jbe @@ret_cur ; if (cur > max)
seg011:00AA fld [bp+@@max] ; st(0) = max
seg011:00AE jmp @@exit
seg011:00B0 @@ret_cur: ; else
seg011:00B0 fld [bp+@@cur] ; st(0) = cur
seg011:00B4 @@exit:
seg011:00B4 fst [bp+@@cur]
seg011:00B8 wait
seg011:00BA mov sp, bp
seg011:00BC pop bp
seg011:00BD retf ; return st(0)
seg011:00BD endp CheckRangeDbl
Из старой, очень популярной игрухи (Scorshed Earth). Все как положено, подгружаемые из cfg-файла данные проходят проверку. Только вот результаты проверок (для double, для int и прочих типов) попросту отбрасываются :) Даже не знаю, как такое можно было накодить, на невнимательность непохоже - такого кода довольно много.
+143
// find the start and end of the upload file.
static FILE * _uploadGet(request *wp, unsigned int *startPos, unsigned *endPos) {
FILE *fp=NULL;
struct stat statbuf;
unsigned char c, *buf;
if (wp->method == M_POST)
{
fstat(wp->post_data_fd, &statbuf);
lseek(wp->post_data_fd, SEEK_SET, 0);
printf("file size=%d\n",statbuf.st_size);
fp=fopen(wp->post_file_name,"rb");
if(fp==NULL) goto error;
}
else goto error;
//printf("_uploadGet\n");
do
{
if(feof(fp))
{
printf("Cannot find start of file\n");
goto error;
}
c= fgetc(fp);
if (c!=0xd)
continue;
c= fgetc(fp);
if (c!=0xa)
continue;
c= fgetc(fp);
if (c!=0xd)
continue;
c= fgetc(fp);
if (c!=0xa)
continue;
break;
}while(1);
(*startPos)=ftell(fp);
if(fseek(fp,statbuf.st_size-0x200,SEEK_SET)<0)
goto error;
do
{
if(feof(fp))
{
printf("fmmgmt: Cannot find end of file\n");
goto error;
}
c= fgetc(fp);
if (c!=0xd)
continue;
c= fgetc(fp);
if (c!=0xa)
continue;
c= fgetc(fp);
if (c!='-')
continue;
c= fgetc(fp);
if (c!='-')
continue;
break;
}while(1);
(*endPos)=ftell(fp);
return fp;
error:
return NULL;
}
Вот так вот китайцы парсят MIME при загрузке прошивки в роутер.
+164
// Eolas workaround for IE (Thanks Kurt!)
if(jQuery.browser.msie){ this.outerHTML = this.outerHTML; }
Kurt == К.О.?
+164
foreach ($params as $k => $v) {
eval('$this->' . $k . ' = $v;');
}
+162
<html>
<head>
<title>Vargo</title>
<script type="text/javascript">
var c=0;
var t;
var timer_is_on=0;
function timedCount()
{
var pict=document.getElementById('picture');
pict.innerHTML="<center><IMG align=center src=\""+get_random(55)+".jpg></center>";
t=setTimeout("timedCount()",1000);
}
function doTimer()
{
if (!timer_is_on)
{
timer_is_on=1;
timedCount();
}
}
function get_random(a)
{
var ranNum= Math.floor(Math.random()*a);
return ranNum;
}
</script>
</head>
Показывает разные картинки меняя через секунду http://netelis.narod.ru/cnv.html
+158
//Отображеие меню
$arr = get("select max(depth) as d from ".DP."docs");
$to = $arr[0]['d'];
$a = get("select * from ".DP."docs where depth='0' order by prior");
$arr = $a;
for($i=0;$i<=$to;$i++)
{
$a = get("select * from ".DP."docs where depth='".$i."' order by prior");
if(is_array($a))
foreach($a as $key=>$value)
{
$b = array();$af = array();$bf = array();
$b = get("select * from ".DP."docs where pid='".$a[$key]['id']."' order by prior");
if(!$b)$b = array();
$before = true;
//поиск в массиве
foreach($arr as $key2=>$value2)
{
if($arr[$key2]['id'] != $a[$key]['id'] and $before) $bf[] = $arr[$key2];
if($arr[$key2]['id'] == $a[$key]['id'] ){ $bf[] = $arr[$key2]; $before=false;}
if($arr[$key2]['id'] != $a[$key]['id'] and !$before) $af[] = $arr[$key2];
}
$arr = array_merge($bf,$b,$af);
}
}
построение дерева сайта. хотя может я не разобрался, весь код пестрит такими перлами.
+121
// первай варянт
string[] GetMonth =
{
"Январь", "Февраль", "Март", "Апрель",
"Май", "Июнь", "Июль", "Август", "Сентябрь",
"Октябрь", "Ноябрь", "Декабрь"
};
for (int i = 1; i <= 12; i++)
{
Console.WriteLine(GetMonth[i]);
}
// вторый варянт
System.Globalization.DateTimeFormatInfo mfi = new System.Globalization.DateTimeFormatInfo();
for(int i = 1; i <= 12; i++)
{
string strMonthName = mfi.GetMonthName(i).ToString();
Console.WriteLine(strMonthName);
}
Как в C# автоматически получить массив или список всех месяцев года (январь ... декабрь)?
+126
FileStream fsSource = new FileStream(fileName, FileMode.Open, FileAccess.Read);
byte[] b = new byte[8192];
int[] a = new int[4096];
fsSource.Read(b, 0, 8192);
int sum=0;
int elem;
for (int i = 0; i < 4096; i++)
{
elem = b[i * 2] * 256 + b[i*2+1];
a[i] = elem; //раз уж нам всё равно надо заполнять этот массив, то мы его заполним
sum += elem;
}
задача: считать 2-х байтные числа с бинарного файла и посчитать его сумму.
+171
while(strlen($_SESSION["log"])) $_SESSION["log"]= substr($_SESSION["log"],0,-1);
while(strlen($_SESSION["pass"])) $_SESSION["pass"]= substr($_SESSION["pass"],0,-1);
unset($_SESSION["log"]);
unset($_SESSION["pass"]);