- 1
- 2
- 3
#define TEN 10
#define TEEN 100
#define TEEEN 1000
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+115
#define TEN 10
#define TEEN 100
#define TEEEN 1000
+137
int memcmp (const void* v1, const void* v2, size_t n)
{
uint32_t *s1;
uint32_t *s2;
size_t i;
s1 = (uint32_t*) v1;
s2 = (uint32_t*) v2;
for (i = 0; i < n; i++) {
if (*s1 != *s2) {
return *(const uint32_t *)s1 >
*(const uint32_t *)s2 ? 1 : -1;
}
s1++;
s2++;
}
return 0;
}
Реализация memcmp в библиотеке одной малоизвестной "учебной" ОС реального времени. Учебной в том смысле, что по этой системе разве что доклады, презентации и статьи делали, где-то реально она вряд ли использовалась.
Для интересующихся http://pok.safety-critical.net/
−122
- (void)_syncThread:(NSDictionary*)args
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
ERFeedStatusDB *feedStatusDB;
NSError *error = nil;
[self retain];
// Open FeedStatusDB
feedStatusDB = [[ERFeedStatusDB alloc] init];
if (![feedStatusDB openWithPath:[args objectForKey:ERFeedStatusDBSyncFilePathKey] error:&error])
goto error;
// Perform the sync
NSAutoreleasePool *pool2 = [[NSAutoreleasePool alloc] init]; // workaround for SQLITE_BUSY issue during -[feedStatusDB close] call
// (autoreleased objects are sticking around that keep the DB locked)
[self performSyncOnBackgroundThreadWithParams:[args objectForKey:ERFeedStatusDBSyncParamsDictKey] feedStatusDB:feedStatusDB];
[pool2 release];
[feedStatusDB close];
[feedStatusDB release];
feedStatusDB = nil;
[self _setExecuting:NO];
[_executingCondition lock];
[_executingCondition signal];
[_executingCondition unlock];
[self release];
[pool release];
return;
error:
[self notifyDelegateOfFailureWithError:error];
[feedStatusDB close];
[feedStatusDB release];
feedStatusDB = nil;
[self _setExecuting:NO];
[_executingCondition lock];
[_executingCondition signal];
[_executingCondition unlock];
[self release];
[pool release];
}
Авторелиз пулы. Goto. [self retain] и [self release]. NSLock. Все это в кастомной реализации NSOperation.
Код выносит прогулки по базе в бэкграунд. Другого способа, видать, не нашлось.
+80
new
+65
private HandlerRegistration historyChangeHandlerRegistration;
@Override
protected void onLoad()
{
super.onLoad();
if(historyChangeHandlerRegistration == null)
{
historyChangeHandlerRegistration = History.addValueChangeHandler(historyHandler);
}
}
@Override
protected void onUnload()
{
super.onUnload();
if (historyChangeHandlerRegistration != null)
{
historyChangeHandlerRegistration.removeHandler();
historyChangeHandlerRegistration = null;
}
}
private ValueChangeHandler<String> historyHandler = new ValueChangeHandler<String>()
{
@Override
public void onValueChange(ValueChangeEvent<String> event)
{
if(historyChangeHandlerRegistration != null)
{
//some work with history token
}
else
{
// и сюда возможно попасть
}
}
};
GWT работа с site history
+143
VariableValue *locVars;
locVars = new VariableValue;
locVars->variable = "r";
locVars->value = mTaskParameters.rNodes[0]; //x_low;
locVars->link = new VariableValue;
locVars->link->variable = "theta";
locVars->link->value = mTaskParameters.thetaNodes[0]; //y_low;
locVars->link->link = new VariableValue;
locVars->link->link->variable = "r_min";
locVars->link->link->value = mTaskParameters.rNodes[0]; //this->x_low;
locVars->link->link->link = new VariableValue;
locVars->link->link->link->variable = "r_max";
locVars->link->link->link->value = mTaskParameters.rNodes[mTaskParameters.rNodes.size()-1]; //this->x_high;
locVars->link->link->link->link = NULL;
Построение связного списка
+165
// comparison arrays - quadruple nesting
public function comparisonArrays(array $newOptions, array $prevOptions) {
$diffOptions = array();
foreach ($newOptions as $key=>$op) {
if (isset($prevOptions[$key])) {
if (is_array($op)) {
foreach ($op as $kkk=>$ooo) {
if (isset($prevOptions[$key][$kkk])) {
if (is_array($ooo)) {
foreach ($ooo as $kk=>$oo) {
if (isset($prevOptions[$key][$kkk][$kk])) {
if (is_array($oo)) {
foreach ($oo as $k=>$o) {
if (isset($prevOptions[$key][$kkk][$kk][$k])) {
if ($prevOptions[$key][$kkk][$kk][$k]!=$o) $diffOptions[$key][$kkk][$kk][$k] = $o;
} else {
$diffOptions[$key][$kkk][$kk][$k] = $o;
}
}
} else {
if ($prevOptions[$key][$kkk][$kk]!=$oo) $diffOptions[$key][$kkk][$kk] = $oo;
}
} else {
$diffOptions[$key][$kkk][$kk] = $oo;
}
}
} else {
if ($prevOptions[$key][$kkk]!=$ooo) $diffOptions[$key][$kkk] = $ooo;
}
} else {
$diffOptions[$key][$kkk] = $ooo;
}
}
} else {
if ($prevOptions[$key]!=$op) $diffOptions[$key] = $op;
}
} else {
$diffOptions[$key] = $op;
}
}
return $diffOptions;
}
+131
private static int GetCarMaxRoomNumberNominal(string trainName, TrainCar car)
{
if (!String.IsNullOrEmpty(trainName))
{
trainName = trainName.ToUpper();
if (trainName.StartsWith("САПСАН"))
{
return 66;
}
else if (trainName.StartsWith("ЛАСТОЧКА"))
{
return 103;
}
else if (trainName.StartsWith("АЛЛЕГРО"))
{
return 72;
}
}
switch (car.Category)
{
case TrainCarCategory.ReservedSeat:
case TrainCarCategory.Common:
return 54;
case TrainCarCategory.Compartment:
return car.TwoStorey ? 112 : 36;
case TrainCarCategory.Lux:
case TrainCarCategory.Soft:
return car.TwoStorey ? 96 : 18;
case TrainCarCategory.Sedentary:
if (car.ServiceClass.Contains("1С"))
{
return 42;
}
else if (car.ServiceClass.Contains("2С"))
{
return 80;
}
if (car.ServiceClass.Contains("3С"))
{
return 117;
}
return 1;
default:
return 1;
}
}
Расчет количества мест в вагоне
+108
assert(buf=malloc(BUF_SIZ));
А в релизе мы сэкономим памяти
+131
try
{
m = (int)Convert.ToInt32(num[1]);
}
catch
{
Console.WriteLine("Invalid parametr");
return true;
}
//...................................................
try
{
matrix[i, j] = (float)Convert.ToDouble(num[j]);
}
catch
{
Console.WriteLine("Invalid matrix");
return false;
}
Лаба одногруника...