- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
#pragma strict
function Start () {
function OnMouseDown (); {
if(name=="new") { Application.LoadLevel("procedural"); }
if(name=="set") { }
if(name=="exit") { Application.Quit(); }
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
#pragma strict
function Start () {
function OnMouseDown (); {
if(name=="new") { Application.LoadLevel("procedural"); }
if(name=="set") { }
if(name=="exit") { Application.Quit(); }
}
}
+1
<span style="font-size: 16px; line-height: 12px;">
<b style="color: rgb(255, 102, 102);background-color:rgb(255, 204, 204);">
<span <a href="news/"><b style="color:rgb(153, 102, 0);">Новости</b></span>
________________________________________________________</b></span>
html код на одном сайте
+1
$row['sub']=str_replace("{&quot;",'{"',$row['sub']);
$row['sub']=str_replace("&quot;:&quot;",'":"',$row['sub']);
$row['sub']=str_replace(""",'"',$row['sub']);
$row['sub']=str_replace("&",'"',$row['sub']);
$row['sub']=str_replace("quot;:quot;",'":"',$row['sub']);
$row['sub']=str_replace("{quot;",'{"',$row['sub']);
$row['sub']=str_replace("quot;}",'"}',$row['sub']);
$row['sub']=str_replace("quot;:",'":',$row['sub']);
$sub = json_decode($row['sub']);
+1
$sql = array();
foreach ($stats as $date => $array) {
$where="";
$where = array();
$where['date'] = $date;
foreach ($array as $sub => $array1) {
$where['sub'] = $nosqlmap->text($sub);
foreach ($array1 as $webmaster => $array2) {
$where['user']=$webmaster;
foreach ($array2 as $offer => $array3) {
$where['offer'] = $offer;
foreach ($array3 as $promo => $array4) {
$where['promo'] = $promo;
foreach ($array4 as $potoc => $array5) {
$where['potoc'] = $nosqlmap->o9($potoc);
if (!isset($stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['orders'])) $stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['orders'] = 0;
if (!isset($stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['aprove'])) $stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['aprove'] = 0;
if (!isset($stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['noorder'])) $stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['noorder'] = 0;
if (!isset($stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['money'])) $stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['money'] = 0;
$where['unics'] = $array5['unics'];
$where['hits'] = $array5['hits'];
$where['orders'] = $stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['orders'];
$where['aprove'] = $stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['aprove'];
$where['noorder'] = $stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['noorder'];
$where['money'] = $stats_o[$date][$sub][$webmaster][$offer][$promo][$potoc]['money'];
$sql[] = $where;
}
}
}
}
}
}
+1
$error = 0;
list($date, $time) = explode(' ', $_POST['date_till']);
if (isset($date) && isset($time)) {
list($day, $month, $year) = explode('.', $date);
list($hour, $min) = explode(':', $time);
if (isset($day) && isset($month) && isset($year) && isset($hour) && isset($min)) {
$date_till = "$year-$month-$day $hour:$min:00";
$executed = Groups::setOutOfRangeGroups($date_till);
if (!$executed) {echo 'q';
$error = 1;
}
} else {echo 'w';
$error = 1;
}
} else {echo 'e';
$error = 1;
}
Нормальные герои всегда идут в обход!
+1
bool isNoGoodCommentText = String.IsNullOrEmpty(this.txbxCommentCtrl.Text) || String.IsNullOrWhiteSpace(this.txbxCommentCtrl.Text);
И действительно, is not good
+1
// Определение метода Q3CanvasText::text()
class Q_COMPAT_EXPORT Q3CanvasText : public Q3CanvasItem {
//...
QString text() const;
//...
};
// Далее уже в "моем" классе строчка:
class CDevice : public CDiagramObject {
// ...
private:
Q3CanvasText * m_pTitle;
//....
public:
const QString & stitle() const { return m_pTitle->text(); } // обратим вниманиена возвращаемый тип
// ...
};
// Еще один класс и отображение тултипа при наведении
void CDiagramView::showToolTip( const QPoint & p, CDevice * d ) {
if( d ) {
QString tmp;
if( d->group() == QString::null || d->group() == "" )
tmp = ( d->stitle().left( d->stitle().indexOf(":") ) ); // вылетало здесь : d->stitle().indexOf(":") segmentation fault
else
tmp = d->group();
//.....
}
}
Нашел магию!
Юзаю Qt 4.8.6 в Linux
Под Виндой новая версия перепиливаемой проги компилится и работает,
под Линухом новая версия вылетает, старая робит.
Соль в том, что метод stitle() по факту возвращает ссылку на копию текста возвращенного Q3CanvasText::text(), которая внезапно удаляется при выходе из метода.
Но почему тот же gcc под виндой скомпилил это без багов?
+1
[2 Cubi Gold] <a target="_blank" href="index.php?vote=xtreme">xtremetop.com</a>
<?php
if ($_GET["vote"] == "xtreme")
{
$host='localhost';
$database='pw';
$user='root';
$pswd='password';
$dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");
mysql_select_db($database) or die("Не могу подключиться к базе.");
$search=CAuth::getLoggedName();
$search=mysql_real_escape_string($search);
$query="SELECT xtreme FROM `users` where name='".$search."'";
$res = mysql_query($query);
$row = mysql_fetch_row($res);
$dateVote=strtotime($row[0]);
$dateVote2=$row[0];
$nullDate="0000-00-00 00:00:00";
$nullDate = strtotime($nullDate);
$now=date("Y-m-d H:i:s");
$now=mysql_real_escape_string($now);
if($dateVote==$nullDate)
{
$query="UPDATE users SET xtreme='$now' WHERE name='$search'";
$query = mysql_query($query);
//запись в лог и редирект
$log_file="/var/www/html/log.txt";
$f=fopen($log_file,"a+");
$ip=getenv("REMOTE_ADDR");
fputs($f, "\n325325253\t" .date("d.m.Y H:i:s").' '.$ip."\t".CAuth::getLoggedName().' '."\t1");
fclose($f);
echo "\nYou will be redirected to xtremetop...";
echo "<meta http-equiv='Refresh' content='3;URL=http://google.ru'>";
}
else if ((strtotime($now)-strtotime($dateVote2)) < 21600)
{
echo "You can't vote. Please wait ",21600 - (strtotime($now)-strtotime($dateVote2))," seconds.";
}
else
{
$query="UPDATE users SET xtreme='$now' WHERE name='$search'";
$query = mysql_query($query);
//запись в лог и редирект
$log_file="/var/www/html/log.txt";
$f=fopen($log_file,"a+");
$ip=getenv("REMOTE_ADDR");
fputs($f, "\n325325253\t" .date("d.m.Y H:i:s").' '.$ip."\t".CAuth::getLoggedName().' '."\t1");
fclose($f);
echo "\nYou will be redirected to xtremetop...";
echo "<meta http-equiv='Refresh' content='3;URL=http://google.ru'>";
}
}
?>
Можете ли вы найти уязвимость?
Ну хоть с этим у него хорошо )))
+1
-- Few Scum
import Data.Char
import Text.Read
import Control.Applicative
import Data.Ratio
import Numeric
import Data.List
import Data.Maybe
data Token
=TLetter Char
|TNumf Rational
|TOp Char
|LBrace
|RBrace
deriving (Show, Eq)
data Expr
=Letter Char
|Numf Rational
|Op Char Expr Expr
|Diff Expr
instance Show Expr where
show (Letter c) = [c]
show (Op c el er) = '(' : show el ++ ')' :
c : '(' : show er ++ ")"
show (Numf v) = show $ toDouble v
show (Diff e) = '(' : show e ++ ")'"
toDouble r = fromRational r :: Double
readUnsignedRationalMaybe f = getParseResult $ parseValue f where
parseValue f = {- readSigned -} readFloat f :: [(Rational, String)]
getParseResult [(value, "")] = Just value
getParseResult _ = Nothing
-- Разбиваем строку на элементы, возаращает перевернутый список токенов
tokenize "" = Nothing
tokenize sourceExpressionString = tok [] sourceExpressionString where
tok [] (c:s)
| c == '-' = tok [TOp '-', TNumf 0] s
tok r@(LBrace:_) (c:s)
| c == '-' = tok (TOp '-':TNumf 0:r) s
tok r (c:s)
| c == '(' = tok (LBrace:r) s
| c == ')' = tok (RBrace:r) s
| isLetter c = tok (TLetter c:r) s
| isOperation c = tok (TOp c:r) s
| isNumber c = parseNumf r (c:s)
tok r "" = Just r
tok resultParsedTokens sourceExpressionString = Nothing
isOperation = (`elem` "+-*/")
isNumf c = isNumber c || c == '.'
parseNumf r s = maybeNumber >>= makeResult where
(numberString, tail) = span isNumf s
maybeNumber = readUnsignedRationalMaybe numberString--readMaybe numberString
makeResult number = tok (TNumf number:r) tail
-- Дерево выражений из списка токенов
parse reversedTokens = reversedTokens >>= makeTree where
priorityOps = ["+-","/*"]
subExpr = splitIntoOperationAndSubExpressions
splitIntoOperationAndSubExpressions reversedTokens =
id =<< find isJust (map (findOp reversedTokens [] 0) priorityOps)
findOp (LBrace:_) _ 0 _ = Nothing -- dont checked on left expression, probably can safety removed
findOp (RBrace:l) r b ops = findOp l (RBrace:r) (b+1) ops
findOp (LBrace:l) r b ops = findOp l (LBrace:r) (b-1) ops
findOp (TOp c:l) r 0 ops
| c `elem` ops = Just (c, l, reverse r)
| otherwise = findOp l (TOp c:r) 0 ops
findOp leftSubExpression [] b operationsForFind
| b > 0 = Nothing
findOp (c:l) r b ops = findOp l (c:r) b ops
findOp [] rightSubExpression braceAmount operationsForFind = Nothing
makeTree reversedTokens = mt reversedTokens $ subExpr reversedTokens
mt t@(RBrace:tt) Nothing
| last t == LBrace = mt (init tt) $ subExpr (init tt)
mt [TLetter v] Nothing = Just $ Letter v
mt [TNumf v] Nothing = Just $ Numf v
mt _ Nothing = Nothing
mt _ (Just (o, l, r)) = makeOperationExpression leftExpressionTree rightExpressionTree o where
leftExpressionTree = mt l $ subExpr l
rightExpressionTree = mt r $ subExpr r
makeOperationExpression = moe
moe Nothing _ _ = Nothing
moe _ Nothing _ = Nothing
moe (Just leftExpressionTree) (Just rightExpressionTree) operation = Just $ Op operation leftExpressionTree rightExpressionTree
-- Простейшее упрощение выражений
firstSimplify e = simplifyTreeHeightTimes <$> e where
stepSimplify = fs
fs (Op '*' e (Numf 1)) = e
fs (Op '*' (Numf 1) e) = e
fs (Op '+' e (Numf 0)) = e
fs (Op '+' (Numf 0) e) = e
fs (Op '/' e (Numf 1)) = e
fs (Op '-' e (Numf 0)) = e
fs (Op '*' (Numf 0) _) = Numf 0
fs (Op '*' _ (Numf 0)) = Numf 0
fs (Op '/' (Numf 0) _) = Numf 0
fs (Op '/' (Letter l) (Letter r))
| l == r = Numf 1
fs (Op '-' (Letter l) (Letter r))
Новая Специальная Олимпиада объявляется открытой.
https://ideone.com/Bottp0
Реализовать поиск производной по выражению на любом языке. У кого получится компактнее, правильнее и больше функционала, тот и победил. Заявлять кандидата в победители (код и его автора) можно несколько раз если код улучшил или написал на другом языке. Призов, кроме почета и приятного времяпрепровождения, - не будет
Если кто-то что-нибудь поломает, то я буду очень рад.
Пока упрощение не работает на полную катушку и из функций производных только +-*/
Мой друг обещает ещё версию на крестах подогнать.
+1
if ($registered_register != "")
if (substr($registered_register, strlen($registered_register)-1, strlen($registered_register)) == ".")
$registered_register = substr($registered_register, 0, strlen($registered_register) - 1);
rtrim()?
Нет, не слышали!