Home | History | Annotate | Download | only in librank

Lines Matching refs:library

74     struct library_info *library;
94 library = calloc(1, sizeof(*library));
95 if (!library) {
96 fprintf(stderr, "Couldn't allocate space for library struct: %s\n", strerror(errno));
99 library->name = malloc(strlen(name) + 1);
100 if (!library->name) {
101 fprintf(stderr, "Couldn't allocate space for library name: %s\n", strerror(errno));
104 strcpy(library->name, name);
105 library->mappings = malloc(INIT_MAPPINGS * sizeof(struct mapping_info *));
106 if (!library->mappings) {
107 fprintf(stderr, "Couldn't allocate space for library mappings array: %s\n", strerror(errno));
110 library->mappings_count = 0; library->mappings_size = INIT_MAPPINGS;
111 pm_memusage_zero(&library->total_usage);
113 libraries[libraries_count++] = library;
115 return library;
118 struct mapping_info *get_mapping(struct library_info *library, struct process_info *proc) {
122 for (i = 0; i < library->mappings_count; i++) {
123 if (library->mappings[i]->proc == proc)
124 return library->mappings[i];
127 if (library->mappings_count >= library->mappings_size) {
128 library->mappings = realloc(library->mappings,
129 2 * library->mappings_size * sizeof(struct mapping*));
130 if (!library->mappings) {
134 library->mappings_size = 2 * library->mappings_size;
145 library->mappings[library->mappings_count++] = mapping;