Dear all,

Regarding to the prior posts on the buggy behaviour of setting user
groups, I have located the source of the problem

In the file "licq_user.h", line 520
 // Group functions
  unsigned long GetGroups(GroupType g)         { return(m_nGroups[g]); }
  void SetGroups(GroupType g, unsigned long s) { m_nGroups[g] = s;
SaveLicqInfo\
(); }
  bool GetInGroup(GroupType, unsigned short);
  void SetInGroup(GroupType, unsigned short, bool);
  void AddToGroup(GroupType, unsigned short);
  void RemoveFromGroup(GroupType, unsigned short);

As we could see, the group number are in unsigned short, which will
therefore limited to the maximum group of 32 (or X mod 32, because of
overflow).

I also found that the implementation of the following functions are in
"users.cpp". Since the effect of changing the declaration of the group
functions in "licq_user.h" will propagate throughout the whole LICQ
source, therefore, I have no idea how to solve this problem unless we
CHANGE EVERTHING.

Yours scinerely,
Kong Shing Hon


-------------------------------------------------------
This SF. Net email is sponsored by: GoToMyPC
GoToMyPC is the fast, easy and secure way to access your computer from
any Web browser or wireless device. Click here to Try it Free!
https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl
_______________________________________________
Licq-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/licq-devel

Reply via email to