summaryrefslogtreecommitdiffstats
path: root/mbbsd
diff options
context:
space:
mode:
authorin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2003-05-14 16:20:11 +0800
committerin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2003-05-14 16:20:11 +0800
commitd27f8482cd1f355f644a389ea1ba18f59b643d87 (patch)
tree5466a9c8a9bb75360600078d5f58116ccdf4cc5f /mbbsd
parent878bcdc81ea3ede5fb409493dd28707b12f53aef (diff)
downloadpttbbs-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.c71
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,