1318 if (rst_msg) { |
1318 if (rst_msg) { |
1319 snprintf(buffer, 4095, "Last status message: %s", rst_msg); |
1319 snprintf(buffer, 4095, "Last status message: %s", rst_msg); |
1320 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_INFO); |
1320 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_INFO); |
1321 } |
1321 } |
1322 } |
1322 } |
1323 for ( ; resources ; resources = g_slist_next(resources) ) { |
1323 for (p_res = resources ; p_res ; p_res = g_slist_next(p_res)) { |
1324 gchar rprio; |
1324 gchar rprio; |
1325 enum imstatus rstatus; |
1325 enum imstatus rstatus; |
1326 const char *rst_msg; |
1326 const char *rst_msg; |
1327 time_t rst_time; |
1327 time_t rst_time; |
1328 struct pgp_data *rpgp; |
1328 struct pgp_data *rpgp; |
1329 |
1329 |
1330 rprio = buddy_getresourceprio(bud, resources->data); |
1330 rprio = buddy_getresourceprio(bud, p_res->data); |
1331 rstatus = buddy_getstatus(bud, resources->data); |
1331 rstatus = buddy_getstatus(bud, p_res->data); |
1332 rst_msg = buddy_getstatusmsg(bud, resources->data); |
1332 rst_msg = buddy_getstatusmsg(bud, p_res->data); |
1333 rst_time = buddy_getstatustime(bud, resources->data); |
1333 rst_time = buddy_getstatustime(bud, p_res->data); |
1334 rpgp = buddy_resource_pgp(bud, resources->data); |
1334 rpgp = buddy_resource_pgp(bud, p_res->data); |
1335 |
1335 |
1336 snprintf(buffer, 4095, "Resource: [%c] (%d) %s", imstatus2char[rstatus], |
1336 snprintf(buffer, 4095, "Resource: [%c] (%d) %s", imstatus2char[rstatus], |
1337 rprio, (char*)resources->data); |
1337 rprio, (char*)p_res->data); |
1338 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_INFO); |
1338 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_INFO); |
1339 if (rst_msg) { |
1339 if (rst_msg) { |
1340 snprintf(buffer, 4095, "Status message: %s", rst_msg); |
1340 snprintf(buffer, 4095, "Status message: %s", rst_msg); |
1341 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_NONE); |
1341 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_NONE); |
1342 } |
1342 } |
1358 (ss & GPGME_SIGSUM_RED ? "bad" : "unknown"))); |
1358 (ss & GPGME_SIGSUM_RED ? "bad" : "unknown"))); |
1359 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_NONE); |
1359 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_NONE); |
1360 } |
1360 } |
1361 } |
1361 } |
1362 #endif |
1362 #endif |
1363 } |
1363 g_free(p_res->data); |
|
1364 } |
|
1365 g_slist_free(resources); |
1364 } else { |
1366 } else { |
1365 if (name) scr_LogPrint(LPRINT_NORMAL, "Name: %s", name); |
1367 if (name) scr_LogPrint(LPRINT_NORMAL, "Name: %s", name); |
1366 scr_LogPrint(LPRINT_NORMAL, "Type: %s", |
1368 scr_LogPrint(LPRINT_NORMAL, "Type: %s", |
1367 type == ROSTER_TYPE_GROUP ? "group" : |
1369 type == ROSTER_TYPE_GROUP ? "group" : |
1368 (type == ROSTER_TYPE_SPECIAL ? "special" : "unknown")); |
1370 (type == ROSTER_TYPE_SPECIAL ? "special" : "unknown")); |
1406 buffer = g_new(char, 4096); |
1408 buffer = g_new(char, 4096); |
1407 strncpy(buffer, "Room members:", 127); |
1409 strncpy(buffer, "Room members:", 127); |
1408 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_INFO); |
1410 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_INFO); |
1409 |
1411 |
1410 resources = buddy_getresources(bud); |
1412 resources = buddy_getresources(bud); |
1411 for ( ; resources ; resources = g_slist_next(resources) ) { |
1413 for (p_res = resources ; p_res ; p_res = g_slist_next(p_res)) { |
1412 enum imstatus rstatus; |
1414 enum imstatus rstatus; |
1413 const char *rst_msg; |
1415 const char *rst_msg; |
1414 |
1416 |
1415 rstatus = buddy_getstatus(bud, resources->data); |
1417 rstatus = buddy_getstatus(bud, p_res->data); |
1416 rst_msg = buddy_getstatusmsg(bud, resources->data); |
1418 rst_msg = buddy_getstatusmsg(bud, p_res->data); |
1417 |
1419 |
1418 snprintf(buffer, 4095, "[%c] %s", imstatus2char[rstatus], |
1420 snprintf(buffer, 4095, "[%c] %s", imstatus2char[rstatus], |
1419 (char*)resources->data); |
1421 (char*)p_res->data); |
1420 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_INFO); |
1422 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_INFO); |
1421 if (rst_msg) { |
1423 if (rst_msg) { |
1422 snprintf(buffer, 4095, "Status message: %s", rst_msg); |
1424 snprintf(buffer, 4095, "Status message: %s", rst_msg); |
1423 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_NONE); |
1425 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_NONE); |
1424 } |
1426 } |
1425 } |
1427 g_free(p_res->data); |
1426 |
1428 } |
|
1429 g_slist_free(resources); |
1427 g_free(buffer); |
1430 g_free(buffer); |
1428 } |
1431 } |
1429 |
1432 |
1430 static void move_group_member(gpointer bud, void *groupnamedata) |
1433 static void move_group_member(gpointer bud, void *groupnamedata) |
1431 { |
1434 { |