--- buddylist.module.org	2008-05-20 23:44:18.000000000 +0800
+++ buddylist.module	2008-05-20 23:46:53.000000000 +0800
@@ -1472,12 +1472,15 @@ function buddylist_deletebuddy_submit($f
   return 'user';
 };
 
-function buddylist_add($id) {
-  global $user;
+function buddylist_add($id, $uid = NULL) {
+  if (is_null($uid) || !is_numeric($uid)) {
+    global $user;
+    $uid = $user->uid;
+  }
   $user_to_add = user_load(array('uid' => $id));
 
-  if (!in_array($id, array_keys(buddylist_get_buddies($user->uid)))) {
-    db_query('INSERT INTO {buddylist} (received, uid, buddy, timestamp) VALUES (1, %d, %d, %d)' , $user->uid , $id , time());
+  if (!in_array($id, array_keys(buddylist_get_buddies($uid)))) {
+    db_query('INSERT INTO {buddylist} (received, uid, buddy, timestamp) VALUES (1, %d, %d, %d)' , $uid , $id , time());
     // DB value buddylist.received set to 1, meaning buddy has a message waiting
     // letting them know you added them as a buddy
     // buddylist.received set back to 0 when user logs in along with being informed of new buddy
