Lines Matching refs:file_buffer

37 static void remember_info_file (FILE_BUFFER *file_buffer);
38 static void free_file_buffer_tags (FILE_BUFFER *file_buffer);
40 static void get_nodes_of_tags_table (FILE_BUFFER *file_buffer,
42 static void get_nodes_of_info_file (FILE_BUFFER *file_buffer);
43 static void get_tags_of_indirect_tags_table (FILE_BUFFER *file_buffer,
49 static NODE *info_node_of_file_buffer_tags (FILE_BUFFER *file_buffer,
87 FILE_BUFFER *file_buffer = NULL; in info_get_node() local
109 file_buffer = info_find_file (filename); in info_get_node()
110 if (!file_buffer) in info_get_node()
119 node = info_get_node_of_file_buffer (nodename, file_buffer); in info_get_node()
124 node = info_get_node_of_file_buffer ("Top", file_buffer); in info_get_node()
126 node = info_get_node_of_file_buffer ("top", file_buffer); in info_get_node()
128 node = info_get_node_of_file_buffer ("TOP", file_buffer); in info_get_node()
139 info_get_node_of_file_buffer (char *nodename, FILE_BUFFER *file_buffer) in info_get_node_of_file_buffer() argument
145 if (!file_buffer) in info_get_node_of_file_buffer()
149 if (!file_buffer->contents) in info_get_node_of_file_buffer()
150 info_reload_file_buffer_contents (file_buffer); in info_get_node_of_file_buffer()
162 node->filename = file_buffer->fullpath; in info_get_node_of_file_buffer()
165 node->contents = file_buffer->contents; in info_get_node_of_file_buffer()
166 node->nodelen = file_buffer->filesize; in info_get_node_of_file_buffer()
173 else if (file_buffer->flags & N_IsManPage) in info_get_node_of_file_buffer()
175 node = get_manpage_node (file_buffer, nodename); in info_get_node_of_file_buffer()
182 else if (file_buffer->tags) in info_get_node_of_file_buffer()
184 node = info_node_of_file_buffer_tags (file_buffer, nodename); in info_get_node_of_file_buffer()
222 FILE_BUFFER *file_buffer; in info_find_file_internal() local
227 for (i = 0; (file_buffer = info_loaded_files[i]); i++) in info_find_file_internal()
228 if ((FILENAME_CMP (filename, file_buffer->filename) == 0) in info_find_file_internal()
229 || (FILENAME_CMP (filename, file_buffer->fullpath) == 0) in info_find_file_internal()
232 filename_non_directory (file_buffer->fullpath)) in info_find_file_internal()
240 return file_buffer; in info_find_file_internal()
244 if (file_buffer->flags & N_IsManPage) in info_find_file_internal()
245 return file_buffer; in info_find_file_internal()
250 if (stat (file_buffer->fullpath, &new_info) == -1) in info_find_file_internal()
256 old_info = &file_buffer->finfo; in info_find_file_internal()
273 if (!file_buffer->contents) in info_find_file_internal()
276 info_reload_file_buffer_contents (file_buffer); in info_find_file_internal()
277 if (!file_buffer->contents) in info_find_file_internal()
281 if (get_tags && !file_buffer->tags) in info_find_file_internal()
282 build_tags_and_nodes (file_buffer); in info_find_file_internal()
284 return file_buffer; in info_find_file_internal()
294 file_buffer = create_manpage_file_buffer (); in info_find_file_internal()
297 file_buffer = info_load_file_internal (filename, get_tags); in info_find_file_internal()
300 if (file_buffer) in info_find_file_internal()
301 remember_info_file (file_buffer); in info_find_file_internal()
303 return file_buffer; in info_find_file_internal()
317 FILE_BUFFER *file_buffer = NULL; in info_load_file_internal() local
369 file_buffer = make_file_buffer (); in info_load_file_internal()
370 file_buffer->filename = xstrdup (filename); in info_load_file_internal()
371 file_buffer->fullpath = xstrdup (fullpath); in info_load_file_internal()
372 file_buffer->finfo = finfo; in info_load_file_internal()
373 file_buffer->filesize = filesize; in info_load_file_internal()
374 file_buffer->contents = contents; in info_load_file_internal()
376 file_buffer->flags |= N_IsCompressed; in info_load_file_internal()
380 build_tags_and_nodes (file_buffer); in info_load_file_internal()
382 return file_buffer; in info_load_file_internal()
388 build_tags_and_nodes (FILE_BUFFER *file_buffer) in build_tags_and_nodes() argument
393 free_file_buffer_tags (file_buffer); in build_tags_and_nodes()
394 file_buffer->flags &= ~N_HasTagsTable; in build_tags_and_nodes()
397 binding.buffer = file_buffer->contents; in build_tags_and_nodes()
398 binding.start = file_buffer->filesize; in build_tags_and_nodes()
445 file_buffer->flags |= N_HasTagsTable; in build_tags_and_nodes()
452 binding.end = file_buffer->filesize; in build_tags_and_nodes()
458 get_nodes_of_tags_table (file_buffer, &binding); in build_tags_and_nodes()
483 get_tags_of_indirect_tags_table (file_buffer, &indirect, &binding); in build_tags_and_nodes()
490 get_nodes_of_info_file (file_buffer); in build_tags_and_nodes()
498 get_nodes_of_info_file (FILE_BUFFER *file_buffer) in get_nodes_of_info_file() argument
504 binding.buffer = file_buffer->contents; in get_nodes_of_info_file()
506 binding.end = file_buffer->filesize; in get_nodes_of_info_file()
564 entry->filename = file_buffer->fullpath; in get_nodes_of_info_file()
567 add_pointer_to_array (entry, tags_index, file_buffer->tags, in get_nodes_of_info_file()
568 file_buffer->tags_slots, 100, TAG *); in get_nodes_of_info_file()
591 get_nodes_of_tags_table (FILE_BUFFER *file_buffer, in get_nodes_of_tags_table() argument
675 entry->filename = file_buffer->fullpath; in get_nodes_of_tags_table()
679 add_pointer_to_array (entry, tags_index, file_buffer->tags, in get_nodes_of_tags_table()
680 file_buffer->tags_slots, 100, TAG *); in get_nodes_of_tags_table()
696 get_tags_of_indirect_tags_table (FILE_BUFFER *file_buffer, in get_tags_of_indirect_tags_table() argument
706 get_nodes_of_tags_table (file_buffer, tags_binding); in get_tags_of_indirect_tags_table()
744 free_file_buffer_tags (file_buffer); in get_tags_of_indirect_tags_table()
758 binding.buffer = file_buffer->contents; in get_tags_of_indirect_tags_table()
760 binding.end = file_buffer->filesize; in get_tags_of_indirect_tags_table()
769 char *containing_dir = xstrdup (file_buffer->fullpath); in get_tags_of_indirect_tags_table()
775 if (HAVE_DRIVE (file_buffer->fullpath) && in get_tags_of_indirect_tags_table()
789 file_buffer->subfiles = (char **) xmalloc ((1 + i) * sizeof (char *)); in get_tags_of_indirect_tags_table()
801 file_buffer->subfiles[i] = fullpath; in get_tags_of_indirect_tags_table()
803 file_buffer->subfiles[i] = NULL; in get_tags_of_indirect_tags_table()
809 for (tags_index = 0; (entry = file_buffer->tags[tags_index]); in get_tags_of_indirect_tags_table()
826 free (file_buffer->subfiles[i]); in get_tags_of_indirect_tags_table()
828 file_buffer->subfiles = NULL; in get_tags_of_indirect_tags_table()
829 free_file_buffer_tags (file_buffer); in get_tags_of_indirect_tags_table()
838 entry->filename = file_buffer->subfiles[i - 1]; in get_tags_of_indirect_tags_table()
845 file_buffer->flags |= N_TagsIndirect; in get_tags_of_indirect_tags_table()
862 find_node_of_anchor (FILE_BUFFER *file_buffer, TAG *tag) in find_node_of_anchor() argument
869 for (anchor_pos = 0; file_buffer->tags[anchor_pos]; anchor_pos++) in find_node_of_anchor()
871 TAG *t = file_buffer->tags[anchor_pos]; in find_node_of_anchor()
877 if (!file_buffer->tags[anchor_pos]) in find_node_of_anchor()
884 node_pos >= 0 && file_buffer->tags[node_pos]->nodelen == 0; in find_node_of_anchor()
894 node_tag = file_buffer->tags[node_pos]; in find_node_of_anchor()
899 node = info_node_of_file_buffer_tags (file_buffer, node_tag->nodename); in find_node_of_anchor()
911 node->display_pos = file_buffer->tags[anchor_pos]->nodestart in find_node_of_anchor()
931 info_node_of_file_buffer_tags (FILE_BUFFER *file_buffer, char *nodename) in info_node_of_file_buffer_tags() argument
937 if (!file_buffer->tags) { in info_node_of_file_buffer_tags()
941 for (i = 0; (tag = file_buffer->tags[i]); i++) in info_node_of_file_buffer_tags()
967 if (file_buffer->flags & N_HasTagsTable) in info_node_of_file_buffer_tags()
971 if (file_buffer->flags & N_TagsIndirect) in info_node_of_file_buffer_tags()
974 node->parent = file_buffer->fullpath; in info_node_of_file_buffer_tags()
1030 node = find_node_of_anchor (file_buffer, tag); in info_node_of_file_buffer_tags()
1057 FILE_BUFFER *file_buffer = xmalloc (sizeof (FILE_BUFFER)); in make_file_buffer() local
1059 file_buffer->filename = file_buffer->fullpath = NULL; in make_file_buffer()
1060 file_buffer->contents = NULL; in make_file_buffer()
1061 file_buffer->tags = NULL; in make_file_buffer()
1062 file_buffer->subfiles = NULL; in make_file_buffer()
1063 file_buffer->tags_slots = 0; in make_file_buffer()
1064 file_buffer->flags = 0; in make_file_buffer()
1066 return file_buffer; in make_file_buffer()
1071 remember_info_file (FILE_BUFFER *file_buffer) in remember_info_file() argument
1078 add_pointer_to_array (file_buffer, i, info_loaded_files, in remember_info_file()
1087 FILE_BUFFER *file_buffer; in forget_info_file() local
1092 for (i = 0; (file_buffer = info_loaded_files[i]); i++) in forget_info_file()
1093 if (FILENAME_CMP (filename, file_buffer->filename) == 0 in forget_info_file()
1094 || FILENAME_CMP (filename, file_buffer->fullpath) == 0) in forget_info_file()
1096 free (file_buffer->filename); in forget_info_file()
1097 free (file_buffer->fullpath); in forget_info_file()
1099 if (file_buffer->contents) in forget_info_file()
1100 free (file_buffer->contents); in forget_info_file()
1104 free_file_buffer_tags (file_buffer); in forget_info_file()
1120 free_file_buffer_tags (FILE_BUFFER *file_buffer) in free_file_buffer_tags() argument
1124 if (file_buffer->tags) in free_file_buffer_tags()
1128 for (i = 0; (tag = file_buffer->tags[i]); i++) in free_file_buffer_tags()
1131 free (file_buffer->tags); in free_file_buffer_tags()
1132 file_buffer->tags = NULL; in free_file_buffer_tags()
1133 file_buffer->tags_slots = 0; in free_file_buffer_tags()
1136 if (file_buffer->subfiles) in free_file_buffer_tags()
1138 for (i = 0; file_buffer->subfiles[i]; i++) in free_file_buffer_tags()
1139 free (file_buffer->subfiles[i]); in free_file_buffer_tags()
1141 free (file_buffer->subfiles); in free_file_buffer_tags()
1142 file_buffer->subfiles = NULL; in free_file_buffer_tags()