/** * List all keys and their rollover time. If listed_zone is set limit * to that zone * \param sockfd client socket * \param listed_zone name of the zone * \param dbconn active database connection * \return 0 ok, 1 fail. */ static int perform_rollover_list(int sockfd, const char *listed_zone, db_connection_t *dbconn) { zone_list_t *zonelist = NULL; zone_t *zone = NULL; const zone_t *zone_walk = NULL; const char* fmt = "%-31s %-8s %-30s\n"; if (listed_zone) { zone = zone_new_get_by_name(dbconn, listed_zone); } else { zonelist = zone_list_new_get(dbconn); } if (listed_zone && !zone) { ods_log_error("[%s] zone '%s' not found", module_str, listed_zone); client_printf(sockfd, "zone '%s' not found\n", listed_zone); return 1; } if (!zone && !zonelist) { ods_log_error("[%s] error enumerating zones", module_str); client_printf(sockfd, "error enumerating zones\n"); return 1; } client_printf(sockfd, "Keys:\n"); client_printf(sockfd, fmt, "Zone:", "Keytype:", "Rollover expected:"); if (zone) { print_zone(sockfd, fmt, zone); zone_free(zone); return 0; } while ((zone_walk = zone_list_next(zonelist))) { print_zone(sockfd, fmt, zone_walk); } zone_list_free(zonelist); return 0; }
/* List all zones in the world (sort of like 'show zones'). */ static void list_zones(struct char_data *ch, zone_rnum rnum, zone_vnum vmin, zone_vnum vmax, char *name) { int counter = 0, len=0, tmp_len = 0; zone_rnum i; zone_vnum bottom, top; char buf[MAX_STRING_LENGTH]; bool use_name=FALSE; bottom = vmin; top = vmax; if (rnum != NOWHERE) { /* Only one parameter was supplied - just list that zone */ print_zone(ch, zone_table[rnum].number); return; } else if (name && *name) { use_name = TRUE; if (!vmin) bottom = zone_table[0].number; /* Lowest Zone */ if (!vmax) top = zone_table[top_of_zone_table].number; /* Highest Zone */ } len = snprintf(buf, sizeof(buf), "VNum Zone Name Builder(s)\r\n" "----- ------------------------------ --------------------------------------\r\n"); if (!top_of_zone_table) return; for (i = 0; i <= top_of_zone_table; i++) { if (zone_table[i].number >= bottom && zone_table[i].number <= top) { if ((!use_name) || (is_name(name, zone_table[i].builders))) { tmp_len = snprintf(buf+len, sizeof(buf)-len, "[%s%3d%s] %s%-*s %s%-1s%s\r\n", QGRN, zone_table[i].number, QNRM, QCYN, count_color_chars(zone_table[i].name)+30, zone_table[i].name, QYEL, zone_table[i].builders ? zone_table[i].builders : "None.", QNRM); len += tmp_len; counter++; } } } if (!counter) send_to_char(ch, " None found within those parameters.\r\n"); else page_string(ch->desc, buf, TRUE); }
static void print_session(sdp_printer_t *p, sdp_session_t const *sdp) { p->pr_ok = 1; if (p->pr_ok && sdp->sdp_version) print_version(p, sdp->sdp_version); if (p->pr_ok && sdp->sdp_origin) print_origin(p, sdp->sdp_origin); if (p->pr_ok && sdp->sdp_subject) print_subject(p, sdp->sdp_subject); if (p->pr_ok && sdp->sdp_information) print_information(p, sdp->sdp_information); if (p->pr_ok && sdp->sdp_uri) print_uri(p, sdp->sdp_uri); if (p->pr_ok && sdp->sdp_emails) print_emails(p, sdp->sdp_emails); if (p->pr_ok && sdp->sdp_phones) print_phones(p, sdp->sdp_phones); if (p->pr_ok && sdp->sdp_connection) print_connection(p, sdp->sdp_connection); if (p->pr_ok && sdp->sdp_bandwidths) print_bandwidths(p, sdp->sdp_bandwidths); if (p->pr_ok) print_time(p, sdp->sdp_time); if (p->pr_ok && sdp->sdp_time) { if (p->pr_ok && sdp->sdp_time->t_repeat) print_repeat(p, sdp->sdp_time->t_repeat); if (p->pr_ok && sdp->sdp_time->t_zone) print_zone(p, sdp->sdp_time->t_zone); } if (p->pr_ok && sdp->sdp_key) print_key(p, sdp->sdp_key); if (p->pr_ok && sdp->sdp_charset) print_charset(p, sdp->sdp_charset); if (p->pr_ok && sdp->sdp_attributes) print_attributes(p, sdp->sdp_attributes); if (p->pr_ok && sdp->sdp_media) print_media(p, sdp, sdp->sdp_media); }