-
+134
- 1
- 2
- 3
- 4
- 5
- 6
- 7
if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
goto fail;
if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
goto fail;
goto fail;
if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
goto fail;
https://www.imperialviolet.org/2014/02/22/applebug.html
Понятно, что третий if не выполнится. Кстати, это был баг в Apple SSL/TLS, привёдший к уязвимости.
Кстати, GCC с -Wall это не ловит. Ловит только Clang, и то только с -Wunreachable-code. Мораль: заключайте все тела ифов в блоки!
someone,
28 Августа 2014
-
+1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
for (conn_vector::iterator i = m_connections.begin(); i != m_connections.end(); ++i) {
if (*i == conn) {
m_connections.erase(i);
toDelete = *i;
break;
}
}
Да, С++98. Да, в std::find не умеем. Да, сегфолт. Да, моё.
Elvenfighter,
27 Августа 2014
-
+144
- 1
- 2
- 3
- 4
- 5
- 6
- 7
for (conn_vector::iterator i = m_connections.begin(); i != m_connections.end(); ++i) {
if (*i == conn) {
toDelete = *i;
m_connections.erase(i);
break;
}
}
Да, С++98. Да, в std::find не умеем. Да, сегфолт. Да, моё.
Elvenfighter,
27 Августа 2014
-
−167
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
Функция НайтиСтатусРемонта(ВыбСтатус) Экспорт
Возврат Ремонт.Найти(ВыбСтатус, "СтатусРемонта");
КонецФункции
Процедура УстановитьДанныеСтрокиРемонта(СтатусРемонта, ДатаСтатуса, ДатаВх) Экспорт
СТЧ = НайтиСтатусРемонта(СтатусРемонта);
Попытка
Если СТЧ.Дата = Дата(1,1,1) Тогда
Попытка СТЧ.Дата = ДатаВх; Исключение КонецПопытки;
ИначеЕсли СТЧ.Дата <> ДатаВх Тогда
обСообщить(""+Ссылка+" "+СтатусРемонта+" Дата уже установлена",СтатусСообщения.Важное);
КонецЕсли;
Исключение
КонецПопытки;
КонецПроцедуры
На фоне всей базы это всего лишь цветочки ...
Есть еще отчет, для формирования которого создается 36 (!!!) запросов )))
Хотел отчет выложить, но ограничение из 100 строк меня остановило :(
anton903,
27 Августа 2014
-
+163
- 1
- 2
- 3
- 4
- 5
- 6
- 7
/**
* @param $data
*/
protected function echo_string($data)
{
echo $data;
}
Хитрый ход
andr435,
27 Августа 2014
-
+58
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
void Model::setPosition(GLfloat x, GLfloat y, GLfloat z) {
if (m_position == NULL) {
m_position = (float *) malloc(3 * sizeof(float));
}
if (m_position != NULL) {
m_position[0] = x;
m_position[1] = y;
m_position[2] = z;
}
}
void Model::setRotate(GLfloat x, GLfloat y, GLfloat z) {
if (m_rotate == NULL) {
m_rotate = (float *) malloc(3 * sizeof(float));
}
if (m_rotate != NULL) {
m_rotate[0] = x;
m_rotate[1] = y;
m_rotate[2] = z;
}
}
http://code.google.com/p/forget3d/
Во первых, умиляет умение людей взяв современный супернавороченый удобный автомат, вместо того чтоб нажать на курок и выстрелить в противника, взять этот автомат наперевес как дубинку, и идти им пиздить противника по голове. Я о сишке, слегка прикрытой крестами.
И во вторых, этот код при недостатке памяти просто нифига не делает, что чревато непонятками - вроде и повертел модель, вроде и подвинул, а оно никак не вертится и не двигается.
Pythoner,
27 Августа 2014
-
−163
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
Для Индекс = 0 По МассивДокументов.Количество()-1 Цикл
Документ = МассивДокументов.Получить(Индекс);
Если Документ.Проведен Тогда
УстановитьСтатусДокумента(ТаблицаДокументов, Документ, "Закрыт");
// Удаляем элемент из массива.
МассивДокументов.Удалить(Индекс);
КонецЕсли;
КонецЦикла;
Абстракция мастера игры в бисер протекла. Но работало долго =)
safer_bwd,
27 Августа 2014
-
+129
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
#include <stdio.h>
#define квот [
#define квзак ]
#define фигот {
#define фигзак }
#define главный main
#define напечатать(x) printf("%s", x)
#define псевдоним typedef
#define конст const
псевдоним int цел;
псевдоним char символ;
цел главный()
фигот
конст символ* строки квот квзак = фигот "Привет, ", "мир!" фигзак;
напечатать(строки квот 0 квзак);
напечатать(строки квот 1 квзак);
фигзак
http://www.gamedev.ru/code/forum/?id=192614
У человека проблема - его напрягает переключение раскладок при написании кода.
Я в шутку предложил такое решение проблемы. Для написания кода главной функции теперь не нужно переключения раскладок!
gammaker,
27 Августа 2014
-
+144
- 1
- 2
- 3
<?endif;?>
<?endforeach;?>
<?foreach($arResult["SHOW_PROPERTIES"] as $code=>$arProperty):
битрикс, что ты делаешь. ахах прекрати
tre,
26 Августа 2014
-
+144
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
public static void main(String[] args) {
int temp = 0;
out: // label
for (int i = 0; i < 3; ++i) {
System.out.println("I am here");
for (int j = 0; j < 20; ++j) {
if(temp==0) {
System.out.println("j: " + j);
if (j == 1) {
temp = j;
continue out; // goto label "out"
}
}
}
}
System.out.println("temp = " + temp);
}
Оригинал: http://stackoverflow.com/questions/2545103/is-there-a-goto-statement-in-java
Помнится, кто-то недавно упомянул именнованные циклы.
Вот они и нашлись.
Получается, что по "continue out" мы пойдём на следующую итерацию внешнего цикла, а при "break out", выйдем из внешнего цикла.
Странно, что M$ не утянули себе такую фичу...
TauSigma,
26 Августа 2014