revert #78
revert #78

The original code was right. It's a queue, so q->fi points the last element
in the queue, unless the queue is empty. If the queue is not empty, the old
last element should point new last (e), and q->fi should move to e. If the
queue is empty q->fi is NULL, and should be updated to e.

0x00evil/streem,ShigeruIchinoki/streem,pze/streem,mattn/streem,VorontsovIE/streem,Ye-Yong-Chi/streem,lvfeng1130/streem,davydovanton/streem,lvfeng1130/streem,pze/streem,ShigeruIchinoki/streem,ShigeruIchinoki/streem,davydovanton/streem,suzukaze/streem,0x00evil/streem,pze/streem,davydovanton/streem,0x00evil/streem,mattn/streem,mattn/streem,Ye-Yong-Chi/streem,suzukaze/streem,lvfeng1130/streem,Ye-Yong-Chi/streem,VorontsovIE/streem,0x00evil/streem,ShigeruIchinoki/streem,lvfeng1130/streem,VorontsovIE/streem,pze/streem,matz/streem,matz/streem,Ye-Yong-Chi/streem,VorontsovIE/streem,suzukaze/streem,suzukaze/streem,davydovanton/streem