| 1260 static int incomingim_chan1(aim_session_t *sess, aim_conn_t *conn, struct aim_userinfo_s *userinfo, struct aim_incomingim_ch1_args *args) { |
1260 static int incomingim_chan1(aim_session_t *sess, aim_conn_t *conn, struct aim_userinfo_s *userinfo, struct aim_incomingim_ch1_args *args) { |
| 1261 char *tmp = g_malloc(BUF_LONG); |
1261 char *tmp = g_malloc(BUF_LONG); |
| 1262 struct gaim_connection *gc = sess->aux_data; |
1262 struct gaim_connection *gc = sess->aux_data; |
| 1263 int flags = 0; |
1263 int flags = 0; |
| 1264 |
1264 |
| 1265 if (sizeof(gaim_features) == args->featureslen) { |
1265 if ((sizeof(gaim_features) == args->featureslen) && !memcmp(gaim_features, args->features, args->featureslen)) |
| 1266 int i; |
1266 flags |= IM_FLAG_GAIMUSER; |
| 1267 for (i = 0; i < args->featureslen; i++) { |
|
| 1268 if (gaim_features[i] != args->features[i]) |
|
| 1269 break; |
|
| 1270 } |
|
| 1271 if (i == args->featureslen) |
|
| 1272 flags |= IM_FLAG_GAIMUSER; |
|
| 1273 } |
|
| 1274 |
1267 |
| 1275 if (args->icbmflags & AIM_IMFLAGS_AWAY) |
1268 if (args->icbmflags & AIM_IMFLAGS_AWAY) |
| 1276 flags |= IM_FLAG_AWAY; |
1269 flags |= IM_FLAG_AWAY; |
| 1277 |
1270 |
| 1278 if (args->icbmflags & AIM_IMFLAGS_HASICON) { |
1271 if (args->icbmflags & AIM_IMFLAGS_HASICON) { |