- 1
hq->rd_period = (i = hq->rd_period+1) != 0 ? i : 1;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+133
hq->rd_period = (i = hq->rd_period+1) != 0 ? i : 1;
что именно хотел сказать автор, неизвестно. предполагаю что `while (!++hq->rd_period);`
bormand 28.08.2013 18:39 # 0
kegdan 28.08.2013 18:54 # −1
bormand 28.08.2013 19:10 # 0
kegdan 28.08.2013 19:16 # −1
Dummy00001 28.08.2013 23:03 # 0
bormand 28.08.2013 23:11 # 0
Dummy00001 28.08.2013 23:27 # +1
типичное случай скипания нуля это sequence numbers в сетевых сообщениях. во многих системах нулевой номер имеет спец значение (например вне сессии, out-of-bound, seqno reset, etc). от туда-то я и знаю трюк с while'ом.
guest 30.08.2013 13:00 # +1
Ну и нафига нужны эти трюки? Такое же гавно как и исходный код, если не хуже. Такое ощущение, что С-программистам не платят за строчки, а наоборот дают каждый месяц лимит строк и как хочешь, так и укладывайся в него.
Dummy00001 30.08.2013 13:24 # +1
вариант который bormand пытался написать, тоже используется, но типично пишется так:
с парадигмами прикладных областей бесполезно спорить. они просто есть. (и да, они часто есть говно.)