diff options
author | in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2003-05-14 16:20:11 +0800 |
---|---|---|
committer | in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2003-05-14 16:20:11 +0800 |
commit | d27f8482cd1f355f644a389ea1ba18f59b643d87 (patch) | |
tree | 5466a9c8a9bb75360600078d5f58116ccdf4cc5f /mbbsd | |
parent | 878bcdc81ea3ede5fb409493dd28707b12f53aef (diff) | |
download | pttbbs-d27f8482cd1f355f644a389ea1ba18f59b643d87.tar pttbbs-d27f8482cd1f355f644a389ea1ba18f59b643d87.tar.gz pttbbs-d27f8482cd1f355f644a389ea1ba18f59b643d87.tar.bz2 pttbbs-d27f8482cd1f355f644a389ea1ba18f59b643d87.tar.lz pttbbs-d27f8482cd1f355f644a389ea1ba18f59b643d87.tar.xz pttbbs-d27f8482cd1f355f644a389ea1ba18f59b643d87.tar.zst pttbbs-d27f8482cd1f355f644a389ea1ba18f59b643d87.zip |
add comments for userlist
git-svn-id: http://opensvn.csie.org/pttbbs/pttbbs/trunk/pttbbs@843 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd')
-rw-r--r-- | mbbsd/talk.c | 71 |
1 files changed, 51 insertions, 20 deletions
diff --git a/mbbsd/talk.c b/mbbsd/talk.c index 126d739f..9e734457 100644 --- a/mbbsd/talk.c +++ b/mbbsd/talk.c @@ -1,4 +1,4 @@ -/* $Id: talk.c,v 1.106 2003/04/17 14:20:41 victor Exp $ */ +/* $Id: talk.c,v 1.107 2003/05/14 08:20:11 in2 Exp $ */ #include "bbs.h" #define QCAST int (*)(const void *, const void *) @@ -1471,6 +1471,50 @@ descript(int show_mode, userinfo_t * uentp, time_t diff) } } +/* + * userlist + * + * ���O���L�j���� bbs�b��@�ϥΪ̦W���, ���O�N�Ҧ� online users ���@���� + * local space ��, ���өҶ��n���覡 sort �n (�p���� userid , ���l��, �ӷ��� + * ��) . �o�N�y���j�q�����O: ������C�ӤH���n���F���ͳo�@���� 20 �ӤH����� + * �ӥh sort ��L�@�U�H�����? + * + * �@��ӻ�, �@�����㪺�ϥΪ̦W��i�H�����u�n�Ͱϡv�M�u�D�n�Ͱϡv. ���P�H�� + * �u�n�Ͱϡv���ӷ|�������@��, ���L�u�D�n�Ͱϡv���ӬO�����@�˪�. �w��o���S + * ��, ��Ϧ����P����@�覡. + * + * + �n�Ͱ� + * �n�Ͱϥu���b�ƦC�覡�� [��! �B��] ���ɭԡu�i��v�|�Ψ�. + * �C�� process�i�H�z�L currutmp->friend_online[]�o�줬�۶����n�����Y���� + * �� (���]�A�O��, �O�ͬO�t�~�ͥX�Ӫ�) ���L friend_online[]�O unorder��. + * �ҥH���n����Ҧ����H���X��, ���s sort �@��. + * �n�Ͱ� (���ۥ��@�観�]�n��+ �O��) �̦h�u�|�� MAX_FRIENDS�� + * + * + �D�n�Ͱ� + * �z�L shmctl utmpsortd , �w�� (�q�`�@���@��) �N�������H���ӦU�ؤ��P���� + * �� sort �n, ��m�b SHM->sorted��. + * + * ���U��, �ڭ̨C���u�q�T�w���_�l��m��, �S�O�O���D�����n, ���M���|�h���ͦn + * �Ͱ�. + * + * �U�� function �K�n + * sort_cmpfriend() sort function, key: friend type + * pickup_maxpages() # pages of userlist + * pickup_myfriend() ���ͦn�Ͱ� + * pickup_bfriend() ���ͪO�� + * pickup() ���ͬY�@���ϥΪ̦W�� + * draw_pickup() ��e����X + * userlist() �D�禡, �t�d�I�s pickup()/draw_pickup() �H�Ϋ���B�z + * + * SEE ALSO + * include/pttstruct.h + * + * BUGS + * �j�M���ɭԨS����k����ӤH�W�� + * + * AUTHOR + * in2 <in2@in2home.org> + */ char nPickups; static int @@ -1527,8 +1571,9 @@ pickup_myfriend(pickup_t * friends, } } } + /* ��ۤv�[�J�n�Ͱ� */ friends[ngets].ui = currutmp; - friends[ngets++].friend = 24; + friends[ngets++].friend = (IFH | HFM); return ngets; } @@ -1609,15 +1654,6 @@ pickup(pickup_t * currpickup, int pickup_way, int *page, } } } - /* - * for( which = (which >= 0 ? which : 0) ; got < nPickups && which - * < utmpnumber ; ++got, ++which ){ - * - * for( ; which < utmpnumber ; ++which ) if( currutmp != utmp[which] && - * isvisible_stat(currutmp, utmp[which], 0) ) break; if( which == - * utmpnumber ) break; currpickup[got].ui = utmp[which]; - * currpickup[got].friend = 0; } - */ for (; size < nPickups; ++size) currpickup[size].ui = 0; @@ -1776,12 +1812,6 @@ call_in(userinfo_t * uentp, int fri_stat) inline static void userlist(void) { - /* - * �ϥΪ̦W��: userlist() : main loop draw_pickup() : show out - * screen pickup() : generate THIS PAGE pickup list - * pickup_maxpages : return max pages number of all list pickup_myfriend - * : pickup friend (from friend_online) and sort - */ pickup_t *currpickup; userinfo_t *uentp; static char show_mode = 0; @@ -1801,9 +1831,10 @@ userlist(void) leave = 0; redrawall = 1; /* - * redraw : �|���}��L�B�z loop , ���s pickup, draw_pickup - * (�u���e�����ϥΪ̳���) redrawall : �|���e�Ҧ������� (�W�������D�C, - * �U���������C����) leave : ��^�W�@��� + * �U�� flag : + * redraw: ���s pickup(), draw_pickup() (�Ȥ�����, ���t���D�C����) + * redrawall: �������e (�t���D�C����, ���A���w redraw �~�|����) + * leave: ���}�ϥΪ̦W�� */ while (!leave) { pickup(currpickup, pickup_way, &page, |