static int show_map(char* filename) { mapinfo total; memset(&total, 0, sizeof(total)); mapinfo *milist = load_maps_from_file(filename, addresses, !verbose && !addresses); if (milist == NULL) { return quiet ? 0 : 1; } print_header(); print_divider(); for (mapinfo *mi = milist; mi;) { mapinfo* last = mi; total.shared_clean += mi->shared_clean; total.shared_dirty += mi->shared_dirty; total.private_clean += mi->private_clean; total.private_dirty += mi->private_dirty; total.swap += mi->swap; total.swap_pss += mi->swap_pss; total.rss += mi->rss; total.pss += mi->pss; total.size += mi->size; total.count += mi->count; if (terse && !mi->private_dirty) { goto out; } print_mi(mi, false); printf("%s%s\n", mi->name, mi->is_bss ? " [bss]" : ""); out: mi = mi->next; free(last); } print_divider(); print_header(); print_divider(); print_mi(&total, true); printf("TOTAL\n"); return 0; }
/* * cmd_version */ int cmd_version(int argc, const char **argv) { int opt, ret = CMD_SUCCESS; static poptContext pc; pc = poptGetContext(NULL, argc, argv, long_options, 0); poptReadDefaultConfig(pc, 0); while ((opt = poptGetNextOpt(pc)) != -1) { switch (opt) { case OPT_HELP: usage(stdout); goto end; case OPT_LIST_OPTIONS: list_cmd_options(stdout, long_options); goto end; default: usage(stderr); ret = CMD_UNDEFINED; goto end; } } if (lttng_opt_mi) { ret = print_mi(); } else { MSG("lttng version " VERSION " - " VERSION_NAME "%s", GIT_VERSION[0] == '\0' ? "" : " - " GIT_VERSION); MSG("\n" VERSION_DESCRIPTION "\n"); MSG("Web site: http://lttng.org"); MSG("\n%s", lttng_license); } end: poptFreeContext(pc); return ret; }