- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
switch (options & (PCRE_BSR_ANYCRLF|PCRE_BSR_UNICODE))
{
case 0:
case PCRE_BSR_ANYCRLF:
case PCRE_BSR_UNICODE:
break;
default: errorcode = ERR56; goto PCRE_EARLY_ERROR_RETURN;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+143
switch (options & (PCRE_BSR_ANYCRLF|PCRE_BSR_UNICODE))
{
case 0:
case PCRE_BSR_ANYCRLF:
case PCRE_BSR_UNICODE:
break;
default: errorcode = ERR56; goto PCRE_EARLY_ERROR_RETURN;
}
Выкидываем три варианта, обрабатываем один.
RaZeR 06.06.2011 17:46 # +2
1. 0 - похуй
2. PCRE_BSR_ANYCRLF - похуй
3. PCRE_BSR_UNICODE - похуй
4. errorcode = ERR56 - йоба!
ej 06.06.2011 18:21 # 0
По-моему наоборот, идём дальше по 3 вариантам и вылетаем на PCRE_BSR_ANYCRLF & PCRE_BSR_UNICODE, хотя нафиг тогда свитч.
Dummy00001 07.06.2011 23:46 # 0
и если перепесать на if, то будет нужно доп переменная (что бы три раза значение не вычислять). может потому что не хотели еще одну временную переменную вводить вот так и написали.
blueboar2 08.06.2011 12:17 # +3
if options | PCRE_BSR_ANYCRLF | PCRE_BSR_UNICODE = options then ... error ...
Dummy00001 08.06.2011 12:33 # −1
blueboar2 08.06.2011 12:52 # +1
Dummy00001 08.06.2011 12:54 # −1
пойдите, выпейте кофе - вы еще видно не проснулись.
Естественно что код *что то* делает в этом случае, а именно *не* обламывается по ошибке.
blueboar2 08.06.2011 12:59 # 0
Если ни одного флага - идем в свич, на первом case выходим из свича идем дальше. Ничего не произошло.
Если один флаг - идем в свич, на втором-третьем case выходим. Ничего не произошло.
Если два флага - идем в свич, на третьем case вываливаемся в ошибку.
Вот и предлагаю if (условие третьего case) --> ошибка
Govnoeb 09.06.2011 13:15 # +1
blueboar2 10.06.2011 06:05 # 0
Lure Of Chaos 06.06.2011 18:42 # +4
поубивал бы
eth0 06.06.2011 18:45 # 0
Lure Of Chaos 06.06.2011 18:48 # +2
Dummy00001 08.06.2011 12:35 # +1
Lure Of Chaos 08.06.2011 12:36 # 0
Dummy00001 08.06.2011 12:44 # 0
я конечно избалован работой с некоторыми крутыми опенсорсными проектами, но я видел кучи уродливого (коммерческого) кода без goto - и кучи читабельного читабельного (open source, cue: linux kernel) кода с goto. я естественно предпочитаю последнее.
Lure Of Chaos 08.06.2011 12:53 # +1
не будем ворошить древний готосрач
ctm 07.06.2011 07:09 # 0
Lure Of Chaos 07.06.2011 15:17 # 0
SmackMyBitchUp 08.06.2011 07:36 # −2
guest8 08.04.2019 20:54 # −999