| 44 void qq_send_packet_keep_alive(GaimConnection *gc) |
44 void qq_send_packet_keep_alive(GaimConnection *gc) |
| 45 { |
45 { |
| 46 qq_data *qd; |
46 qq_data *qd; |
| 47 guint8 *raw_data, *cursor; |
47 guint8 *raw_data, *cursor; |
| 48 |
48 |
| 49 g_return_if_fail(gc != NULL && gc->proto_data != NULL); |
|
| 50 |
|
| 51 qd = (qq_data *) gc->proto_data; |
49 qd = (qq_data *) gc->proto_data; |
| 52 raw_data = g_newa(guint8, 4); |
50 raw_data = g_newa(guint8, 4); |
| 53 cursor = raw_data; |
51 cursor = raw_data; |
| 54 |
52 |
| 55 /* In fact, we can send whatever we like to server |
53 /* In fact, we can send whatever we like to server |
| 102 time_t now; |
99 time_t now; |
| 103 GList *list; |
100 GList *list; |
| 104 qq_data *qd; |
101 qq_data *qd; |
| 105 qq_buddy *q_bud; |
102 qq_buddy *q_bud; |
| 106 |
103 |
| 107 g_return_if_fail(gc != NULL && gc->proto_data != NULL); |
|
| 108 |
|
| 109 qd = (qq_data *) (gc->proto_data); |
104 qd = (qq_data *) (gc->proto_data); |
| 110 now = time(NULL); |
105 now = time(NULL); |
| 111 list = qd->buddies; |
106 list = qd->buddies; |
| 112 g_return_if_fail(qd != NULL); |
|
| 113 |
107 |
| 114 while (list != NULL) { |
108 while (list != NULL) { |
| 115 q_bud = (qq_buddy *) list->data; |
109 q_bud = (qq_buddy *) list->data; |
| 116 if (q_bud != NULL && now > q_bud->last_refresh + QQ_UPDATE_ONLINE_INTERVAL |
110 if (q_bud != NULL && now > q_bud->last_refresh + QQ_UPDATE_ONLINE_INTERVAL |
| 117 && q_bud->status != QQ_BUDDY_ONLINE_INVISIBLE) { |
111 && q_bud->status != QQ_BUDDY_ONLINE_INVISIBLE) { |