comparison mcabber/mcabber/commands.c @ 2120:8aa5e80aebce

add option 'show_room_occupants_count'
author sh!zeeg <shizeeque@gmail.com>
date Tue, 13 May 2014 20:24:51 +0400
parents 332818e5daa1
children 9c791e2a437a
comparison
equal deleted inserted replaced
2117:0355be54e3a9 2120:8aa5e80aebce
2072 2072
2073 buffer = g_new(char, 4096); 2073 buffer = g_new(char, 4096);
2074 strncpy(buffer, "Room members:", 127); 2074 strncpy(buffer, "Room members:", 127);
2075 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_INFO, 0); 2075 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_INFO, 0);
2076 2076
2077 int cnt = 0;
2077 resources = buddy_getresources(bud); 2078 resources = buddy_getresources(bud);
2078 for (p_res = resources ; p_res ; p_res = g_slist_next(p_res)) { 2079 for (p_res = resources ; p_res ; p_res = g_slist_next(p_res)) {
2079 enum imstatus rstatus; 2080 enum imstatus rstatus;
2080 const char *rst_msg; 2081 const char *rst_msg;
2082 cnt++;
2081 2083
2082 rstatus = buddy_getstatus(bud, p_res->data); 2084 rstatus = buddy_getstatus(bud, p_res->data);
2083 rst_msg = buddy_getstatusmsg(bud, p_res->data); 2085 rst_msg = buddy_getstatusmsg(bud, p_res->data);
2084 2086
2085 if (style == style_short) { 2087 if (style == style_short) {
2122 } 2124 }
2123 } 2125 }
2124 } 2126 }
2125 g_free(p_res->data); 2127 g_free(p_res->data);
2126 } 2128 }
2129
2130 if (settings_opt_get_int("show_room_occupants_count")) {
2131 snprintf(buffer, 4095, "Total: %d", cnt);
2132 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_INFO, 0);
2133 }
2134
2127 g_slist_free(resources); 2135 g_slist_free(resources);
2128 g_free(buffer); 2136 g_free(buffer);
2129 } 2137 }
2130 2138
2131 static void move_group_member(gpointer bud, void *groupnamedata) 2139 static void move_group_member(gpointer bud, void *groupnamedata)