    gtop              562 global/global.c 	GTOP *gtop;
    gtop              572 global/global.c 	gtop = gtags_open(dbpath, root, db, GTAGS_READ);
    gtop              573 global/global.c 	for (gtp = gtags_first(gtop, prefix, flags); gtp; gtp = gtags_next(gtop)) {
    gtop              577 global/global.c 	gtags_close(gtop);
    gtop             1031 global/global.c 	GTOP *gtop;
    gtop             1045 global/global.c 	gtop = gtags_open(dbpath, root, db, GTAGS_READ);
    gtop             1066 global/global.c 	if (gtop->format & GTAGS_COMPACT)
    gtop             1068 global/global.c 	for (gtp = gtags_first(gtop, pattern, flags); gtp; gtp = gtags_next(gtop)) {
    gtop             1074 global/global.c 		} else if (gtop->format & GTAGS_COMPACT) {
    gtop             1125 global/global.c 			if (gtop->format & GTAGS_COMPLINE) {
    gtop             1152 global/global.c 					if (gtop->format & GTAGS_COMPNAME)
    gtop             1173 global/global.c 					if (gtop->format & GTAGS_COMPNAME)
    gtop             1196 global/global.c 			if (gtop->format & GTAGS_COMPNAME) {
    gtop             1206 global/global.c 				if (gtop->format & GTAGS_COMPRESS)
    gtop             1220 global/global.c 	gtags_close(gtop);
    gtop              358 gtags/gtags.c  		GTOP *gtop = gtags_open(dbpath, cwd, GTAGS, GTAGS_MODIFY);
    gtop              359 gtags/gtags.c  		gtags_close(gtop);
    gtop              640 gtags/gtags.c  	GTOP *gtop;
    gtop              655 gtags/gtags.c  	gtop = gtags_open(dbpath, root, db, GTAGS_MODIFY);
    gtop              672 gtags/gtags.c  		gtags_delete(gtop, deleteset);
    gtop              673 gtags/gtags.c  	gtop->flags = 0;
    gtop              675 gtags/gtags.c  		gtop->flags |= GTAGS_EXTRACTMETHOD;
    gtop              677 gtags/gtags.c  		gtop->flags |= GTAGS_DEBUG;
    gtop              711 gtags/gtags.c  			if (gtop->flags & GTAGS_EXTRACTMETHOD) {
    gtop              719 gtags/gtags.c  			gtags_put(gtop, p, ctags_x);
    gtop              723 gtags/gtags.c  	gtags_close(gtop);
    gtop              748 gtags/gtags.c  	GTOP *gtop;
    gtop              764 gtags/gtags.c  	gtop = gtags_open(dbpath, root, db, GTAGS_CREATE);
    gtop              768 gtags/gtags.c  	gtop->flags = 0;
    gtop              770 gtags/gtags.c  		gtop->flags |= GTAGS_EXTRACTMETHOD;
    gtop              772 gtags/gtags.c  		gtop->flags |= GTAGS_DEBUG;
    gtop              810 gtags/gtags.c  		if (gtop->flags & GTAGS_EXTRACTMETHOD) {
    gtop              818 gtags/gtags.c  		gtags_put(gtop, p, ctags_x);
    gtop              822 gtags/gtags.c  	gtags_close(gtop);
    gtop             1728 htags/htags.c  		GTOP *gtop;
    gtop             1744 htags/htags.c  		gtop = gtags_open(dbpath, cwdpath, GTAGS, GTAGS_READ);
    gtop             1745 htags/htags.c  		gtags_close(gtop);
    gtop              275 libutil/gtagsop.c 	GTOP *gtop;
    gtop              278 libutil/gtagsop.c 	gtop = (GTOP *)check_calloc(sizeof(GTOP), 1);
    gtop              279 libutil/gtagsop.c 	gtop->db = db;
    gtop              280 libutil/gtagsop.c 	gtop->mode = mode;
    gtop              281 libutil/gtagsop.c 	gtop->format_version = 4;
    gtop              285 libutil/gtagsop.c 	switch (gtop->mode) {
    gtop              298 libutil/gtagsop.c 	gtop->dbop = dbop_open(makepath(dbpath, dbname(db), NULL), dbmode, 0644, DBOP_DUP);
    gtop              299 libutil/gtagsop.c 	if (gtop->dbop == NULL) {
    gtop              304 libutil/gtagsop.c 	if (gtop->mode == GTAGS_CREATE) {
    gtop              308 libutil/gtagsop.c 		gtop->format = 0;
    gtop              309 libutil/gtagsop.c 		gtop->format_version = 5;
    gtop              310 libutil/gtagsop.c 		if (gtop->db == GTAGS)
    gtop              311 libutil/gtagsop.c 			gtop->format |= GTAGS_COMPRESS;
    gtop              312 libutil/gtagsop.c 		gtop->format |= GTAGS_COMPNAME;
    gtop              313 libutil/gtagsop.c 		if (gtop->db == GRTAGS || gtop->db == GSYMS) {
    gtop              314 libutil/gtagsop.c 			gtop->format |= GTAGS_COMPACT;
    gtop              315 libutil/gtagsop.c 			gtop->format |= GTAGS_COMPLINE;
    gtop              317 libutil/gtagsop.c 		if (gtop->format & GTAGS_COMPACT)
    gtop              318 libutil/gtagsop.c 			dbop_putoption(gtop->dbop, COMPACTKEY, NULL);
    gtop              319 libutil/gtagsop.c 		if (gtop->format & GTAGS_COMPRESS) {
    gtop              320 libutil/gtagsop.c 			dbop_putoption(gtop->dbop, COMPRESSKEY, DEFAULT_ABBREVIATION);
    gtop              323 libutil/gtagsop.c 		if (gtop->format & GTAGS_COMPLINE)
    gtop              324 libutil/gtagsop.c 			dbop_putoption(gtop->dbop, COMPLINEKEY, NULL);
    gtop              325 libutil/gtagsop.c 		if (gtop->format & GTAGS_COMPNAME)
    gtop              326 libutil/gtagsop.c 			dbop_putoption(gtop->dbop, COMPNAMEKEY, NULL);
    gtop              327 libutil/gtagsop.c 		dbop_putversion(gtop->dbop, gtop->format_version);
    gtop              339 libutil/gtagsop.c 		gtop->format_version = dbop_getversion(gtop->dbop);
    gtop              340 libutil/gtagsop.c 		if (gtop->format_version > upper_bound_version)
    gtop              341 libutil/gtagsop.c 			die("%s seems new format. Please install the latest GLOBAL.", dbname(gtop->db));
    gtop              342 libutil/gtagsop.c 		else if (gtop->format_version < lower_bound_version)
    gtop              343 libutil/gtagsop.c 			die("%s seems older format. Please remake tag files.", dbname(gtop->db));
    gtop              344 libutil/gtagsop.c 		gtop->format = 0;
    gtop              345 libutil/gtagsop.c 		if (dbop_getoption(gtop->dbop, COMPACTKEY) != NULL)
    gtop              346 libutil/gtagsop.c 			gtop->format |= GTAGS_COMPACT;
    gtop              347 libutil/gtagsop.c 		if ((p = dbop_getoption(gtop->dbop, COMPRESSKEY)) != NULL) {
    gtop              349 libutil/gtagsop.c 			gtop->format |= GTAGS_COMPRESS;
    gtop              351 libutil/gtagsop.c 		if (dbop_getoption(gtop->dbop, COMPLINEKEY) != NULL)
    gtop              352 libutil/gtagsop.c 			gtop->format |= GTAGS_COMPLINE;
    gtop              353 libutil/gtagsop.c 		if (dbop_getoption(gtop->dbop, COMPNAMEKEY) != NULL)
    gtop              354 libutil/gtagsop.c 			gtop->format |= GTAGS_COMPNAME;
    gtop              362 libutil/gtagsop.c 	if (gtop->mode != GTAGS_READ)
    gtop              363 libutil/gtagsop.c 		gtop->sb = strbuf_open(0);	/* This buffer is used for working area. */
    gtop              367 libutil/gtagsop.c 	if (gtop->format & GTAGS_COMPACT) {
    gtop              369 libutil/gtagsop.c 		strlimcpy(gtop->root, root, sizeof(gtop->root));
    gtop              370 libutil/gtagsop.c 		if (gtop->mode != GTAGS_READ)
    gtop              371 libutil/gtagsop.c 			gtop->path_hash = strhash_open(HASHBUCKETS);
    gtop              373 libutil/gtagsop.c 	return gtop;
    gtop              383 libutil/gtagsop.c gtags_put(GTOP *gtop, const char *key, const char *ctags_x)	/* virtually const */
    gtop              391 libutil/gtagsop.c 	if (gtop->format & GTAGS_COMPACT) {
    gtop              403 libutil/gtagsop.c 		if (gtop->cur_path[0] && strcmp(gtop->cur_path, ptable.part[PART_PATH].start)) {
    gtop              404 libutil/gtagsop.c 			flush_pool(gtop);
    gtop              405 libutil/gtagsop.c 			strhash_reset(gtop->path_hash);
    gtop              407 libutil/gtagsop.c 		strlimcpy(gtop->cur_path, ptable.part[PART_PATH].start, sizeof(gtop->cur_path));
    gtop              419 libutil/gtagsop.c 		entry = strhash_assign(gtop->path_hash, key, 1);
    gtop              429 libutil/gtagsop.c 		strbuf_reset(gtop->sb);
    gtop              430 libutil/gtagsop.c 		strbuf_puts(gtop->sb, s_fid);
    gtop              431 libutil/gtagsop.c 		strbuf_putc(gtop->sb, ' ');
    gtop              432 libutil/gtagsop.c 		if (gtop->format & GTAGS_COMPNAME)
    gtop              433 libutil/gtagsop.c 			strbuf_puts(gtop->sb, compress(ptable.part[PART_TAG].start, key));
    gtop              435 libutil/gtagsop.c 			strbuf_puts(gtop->sb, ptable.part[PART_TAG].start);
    gtop              436 libutil/gtagsop.c 		strbuf_putc(gtop->sb, ' ');
    gtop              437 libutil/gtagsop.c 		strbuf_puts(gtop->sb, ptable.part[PART_LNO].start);
    gtop              438 libutil/gtagsop.c 		strbuf_putc(gtop->sb, ' ');
    gtop              439 libutil/gtagsop.c 		strbuf_puts(gtop->sb, gtop->format & GTAGS_COMPRESS ?
    gtop              442 libutil/gtagsop.c 		dbop_put(gtop->dbop, key, strbuf_value(gtop->sb));
    gtop              453 libutil/gtagsop.c gtags_delete(GTOP *gtop, IDSET *deleteset)
    gtop              458 libutil/gtagsop.c 	for (tagline = dbop_first(gtop->dbop, NULL, NULL, 0); tagline; tagline = dbop_next(gtop->dbop)) {
    gtop              467 libutil/gtagsop.c 			dbop_delete(gtop->dbop, NULL);
    gtop              487 libutil/gtagsop.c gtags_first(GTOP *gtop, const char *pattern, int flags)
    gtop              498 libutil/gtagsop.c 	if (gtop->path_hash) {
    gtop              499 libutil/gtagsop.c 		strhash_close(gtop->path_hash);
    gtop              500 libutil/gtagsop.c 		gtop->path_hash = NULL;
    gtop              502 libutil/gtagsop.c 	if (gtop->path_array) {
    gtop              503 libutil/gtagsop.c 		free(gtop->path_array);
    gtop              504 libutil/gtagsop.c 		gtop->path_array = NULL;
    gtop              507 libutil/gtagsop.c 	gtop->flags = flags;
    gtop              517 libutil/gtagsop.c 	if (gtop->format & GTAGS_COMPACT)
    gtop              518 libutil/gtagsop.c 		gtop->fp = NULL;
    gtop              558 libutil/gtagsop.c 	if (gtop->flags & GTOP_PATH) {
    gtop              564 libutil/gtagsop.c 		gtop->path_hash = strhash_open(HASHBUCKETS);
    gtop              574 libutil/gtagsop.c 		for (tagline = dbop_first(gtop->dbop, key, preg, dbflags);
    gtop              576 libutil/gtagsop.c 		     tagline = dbop_next(gtop->dbop))
    gtop              583 libutil/gtagsop.c 			entry = strhash_assign(gtop->path_hash, tagline, 1);
    gtop              589 libutil/gtagsop.c 				entry->value = strhash_strdup(gtop->path_hash, cp, 0);
    gtop              601 libutil/gtagsop.c 		gtop->path_array = (char **)check_malloc(gtop->path_hash->entries * sizeof(char *));
    gtop              603 libutil/gtagsop.c 		for (entry = strhash_first(gtop->path_hash); entry != NULL; entry = strhash_next(gtop->path_hash))
    gtop              604 libutil/gtagsop.c 			gtop->path_array[i++] = entry->value;
    gtop              605 libutil/gtagsop.c 		if (i != gtop->path_hash->entries)
    gtop              606 libutil/gtagsop.c 			die("Something is wrong. 'i = %lu, entries = %lu'" , i, gtop->path_hash->entries);
    gtop              607 libutil/gtagsop.c 		if (!(gtop->flags & GTOP_NOSORT))
    gtop              608 libutil/gtagsop.c 			qsort(gtop->path_array, gtop->path_hash->entries, sizeof(char *), compare_path);
    gtop              609 libutil/gtagsop.c 		gtop->path_count = gtop->path_hash->entries;
    gtop              610 libutil/gtagsop.c 		gtop->path_index = 0;
    gtop              612 libutil/gtagsop.c 		if (gtop->path_index >= gtop->path_count)
    gtop              614 libutil/gtagsop.c 		gtop->gtp.path = gtop->path_array[gtop->path_index++];
    gtop              615 libutil/gtagsop.c 		return &gtop->gtp;
    gtop              616 libutil/gtagsop.c 	} else if (gtop->flags & GTOP_KEY) {
    gtop              617 libutil/gtagsop.c 		return ((gtop->gtp.tag = dbop_first(gtop->dbop, key, preg, dbflags)) == NULL)
    gtop              618 libutil/gtagsop.c 			? NULL : &gtop->gtp;
    gtop              620 libutil/gtagsop.c 		if (gtop->vb == NULL)
    gtop              621 libutil/gtagsop.c 			gtop->vb = varray_open(sizeof(GTP), 200);
    gtop              623 libutil/gtagsop.c 			varray_reset(gtop->vb);
    gtop              624 libutil/gtagsop.c 		if (gtop->segment_pool == NULL)
    gtop              625 libutil/gtagsop.c 			gtop->segment_pool = pool_open();
    gtop              627 libutil/gtagsop.c 			pool_reset(gtop->segment_pool);
    gtop              628 libutil/gtagsop.c 		if (gtop->path_hash == NULL)
    gtop              629 libutil/gtagsop.c 			gtop->path_hash = strhash_open(HASHBUCKETS);
    gtop              631 libutil/gtagsop.c 			strhash_reset(gtop->path_hash);
    gtop              632 libutil/gtagsop.c 		tagline = dbop_first(gtop->dbop, key, preg, dbflags);
    gtop              638 libutil/gtagsop.c 		dbop_unread(gtop->dbop);
    gtop              642 libutil/gtagsop.c 		segment_read(gtop);
    gtop              643 libutil/gtagsop.c 		return  &gtop->gtp_array[gtop->gtp_index++];
    gtop              654 libutil/gtagsop.c gtags_next(GTOP *gtop)
    gtop              656 libutil/gtagsop.c 	if (gtop->flags & GTOP_PATH) {
    gtop              657 libutil/gtagsop.c 		if (gtop->path_index >= gtop->path_count)
    gtop              659 libutil/gtagsop.c 		gtop->gtp.path = gtop->path_array[gtop->path_index++];
    gtop              660 libutil/gtagsop.c 		return &gtop->gtp;
    gtop              661 libutil/gtagsop.c 	} else if (gtop->flags & GTOP_KEY) {
    gtop              662 libutil/gtagsop.c 		return ((gtop->gtp.tag = dbop_next(gtop->dbop)) == NULL)
    gtop              663 libutil/gtagsop.c 			? NULL : &gtop->gtp;
    gtop              669 libutil/gtagsop.c 		if (gtop->gtp_index >= gtop->gtp_count) {
    gtop              670 libutil/gtagsop.c 			varray_reset(gtop->vb);
    gtop              671 libutil/gtagsop.c 			pool_reset(gtop->segment_pool);
    gtop              673 libutil/gtagsop.c 			segment_read(gtop);
    gtop              675 libutil/gtagsop.c 		if (gtop->gtp_index >= gtop->gtp_count)
    gtop              677 libutil/gtagsop.c 		return &gtop->gtp_array[gtop->gtp_index++];
    gtop              686 libutil/gtagsop.c gtags_close(GTOP *gtop)
    gtop              688 libutil/gtagsop.c 	if (gtop->format & GTAGS_COMPACT && gtop->fp != NULL)
    gtop              689 libutil/gtagsop.c 		fclose(gtop->fp);
    gtop              690 libutil/gtagsop.c 	if (gtop->format & GTAGS_COMPRESS)
    gtop              692 libutil/gtagsop.c 	if (gtop->format & GTAGS_COMPACT && gtop->cur_path[0])
    gtop              693 libutil/gtagsop.c 		flush_pool(gtop);
    gtop              694 libutil/gtagsop.c 	if (gtop->segment_pool)
    gtop              695 libutil/gtagsop.c 		pool_close(gtop->segment_pool);
    gtop              696 libutil/gtagsop.c 	if (gtop->path_array)
    gtop              697 libutil/gtagsop.c 		free(gtop->path_array);
    gtop              698 libutil/gtagsop.c 	if (gtop->sb)
    gtop              699 libutil/gtagsop.c 		strbuf_close(gtop->sb);
    gtop              700 libutil/gtagsop.c 	if (gtop->vb)
    gtop              701 libutil/gtagsop.c 		varray_close(gtop->vb);
    gtop              702 libutil/gtagsop.c 	if (gtop->path_hash)
    gtop              703 libutil/gtagsop.c 		strhash_close(gtop->path_hash);
    gtop              705 libutil/gtagsop.c 	dbop_close(gtop->dbop);
    gtop              706 libutil/gtagsop.c 	free(gtop);
    gtop              714 libutil/gtagsop.c flush_pool(GTOP *gtop)
    gtop              717 libutil/gtagsop.c 	const char *s_fid = gpath_path2fid(gtop->cur_path, NULL);
    gtop              722 libutil/gtagsop.c 		die("GPATH is corrupted.('%s' not found)", gtop->cur_path);
    gtop              727 libutil/gtagsop.c 	for (entry = strhash_first(gtop->path_hash); entry; entry = strhash_next(gtop->path_hash)) {
    gtop              740 libutil/gtagsop.c 		if (gtop->flags & GTAGS_EXTRACTMETHOD) {
    gtop              751 libutil/gtagsop.c 		strbuf_reset(gtop->sb);
    gtop              752 libutil/gtagsop.c 		strbuf_puts(gtop->sb, s_fid);
    gtop              753 libutil/gtagsop.c 		strbuf_putc(gtop->sb, ' ');
    gtop              754 libutil/gtagsop.c 		if (gtop->format & GTAGS_COMPNAME) {
    gtop              755 libutil/gtagsop.c 			strbuf_puts(gtop->sb, compress(entry->name, key));
    gtop              757 libutil/gtagsop.c 			strbuf_puts(gtop->sb, entry->name);
    gtop              759 libutil/gtagsop.c 		strbuf_putc(gtop->sb, ' ');
    gtop              760 libutil/gtagsop.c 		header_offset = strbuf_getlen(gtop->sb);
    gtop              766 libutil/gtagsop.c 		if (gtop->format & GTAGS_COMPLINE) {
    gtop              780 libutil/gtagsop.c 						if (strbuf_getlen(gtop->sb) == header_offset)
    gtop              781 libutil/gtagsop.c 							strbuf_putn(gtop->sb, n);
    gtop              790 libutil/gtagsop.c 						strbuf_putc(gtop->sb, '-');
    gtop              791 libutil/gtagsop.c 						strbuf_putn(gtop->sb, last - cont);
    gtop              794 libutil/gtagsop.c 					if (strbuf_getlen(gtop->sb) > header_offset) {
    gtop              795 libutil/gtagsop.c 						strbuf_putc(gtop->sb, ',');
    gtop              796 libutil/gtagsop.c 						strbuf_putn(gtop->sb, n - last);
    gtop              798 libutil/gtagsop.c 						strbuf_putn(gtop->sb, n);
    gtop              800 libutil/gtagsop.c 					if (strbuf_getlen(gtop->sb) > DBOP_PAGESIZE / 4) {
    gtop              801 libutil/gtagsop.c 						dbop_put(gtop->dbop, key, strbuf_value(gtop->sb));
    gtop              802 libutil/gtagsop.c 						strbuf_setlen(gtop->sb, header_offset);
    gtop              808 libutil/gtagsop.c 				strbuf_putc(gtop->sb, '-');
    gtop              809 libutil/gtagsop.c 				strbuf_putn(gtop->sb, last - cont);
    gtop              821 libutil/gtagsop.c 				if (strbuf_getlen(gtop->sb) > header_offset)
    gtop              822 libutil/gtagsop.c 					strbuf_putc(gtop->sb, ',');
    gtop              823 libutil/gtagsop.c 				strbuf_putn(gtop->sb, n);
    gtop              824 libutil/gtagsop.c 				if (strbuf_getlen(gtop->sb) > DBOP_PAGESIZE / 4) {
    gtop              825 libutil/gtagsop.c 					dbop_put(gtop->dbop, key, strbuf_value(gtop->sb));
    gtop              826 libutil/gtagsop.c 					strbuf_setlen(gtop->sb, header_offset);
    gtop              831 libutil/gtagsop.c 		if (strbuf_getlen(gtop->sb) > header_offset)
    gtop              832 libutil/gtagsop.c 			dbop_put(gtop->dbop, key, strbuf_value(gtop->sb));
    gtop              857 libutil/gtagsop.c segment_read(GTOP *gtop)
    gtop              866 libutil/gtagsop.c 	gtop->cur_tagname[0] = '\0';
    gtop              867 libutil/gtagsop.c 	while ((tagline = dbop_next(gtop->dbop)) != NULL) {
    gtop              873 libutil/gtagsop.c 		if (gtop->cur_tagname[0] == '\0') {
    gtop              874 libutil/gtagsop.c 			strlimcpy(gtop->cur_tagname, gtop->dbop->lastkey, sizeof(gtop->cur_tagname));
    gtop              875 libutil/gtagsop.c 		} else if (strcmp(gtop->cur_tagname, gtop->dbop->lastkey) != 0) {
    gtop              879 libutil/gtagsop.c 			dbop_unread(gtop->dbop);
    gtop              882 libutil/gtagsop.c 		gtp = varray_append(gtop->vb);
    gtop              883 libutil/gtagsop.c 		gtp->tagline = pool_strdup(gtop->segment_pool, tagline, 0);
    gtop              884 libutil/gtagsop.c 		gtp->tag = (const char *)gtop->cur_tagname;
    gtop              892 libutil/gtagsop.c 		sh = strhash_assign(gtop->path_hash, path, 1);
    gtop              902 libutil/gtagsop.c 	gtop->gtp_array = varray_assign(gtop->vb, 0, 0);
    gtop              903 libutil/gtagsop.c 	gtop->gtp_count = gtop->vb->length;
    gtop              904 libutil/gtagsop.c 	gtop->gtp_index = 0;
    gtop              905 libutil/gtagsop.c 	if (!(gtop->flags & GTOP_NOSORT))
    gtop              906 libutil/gtagsop.c 		qsort(gtop->gtp_array, gtop->gtp_count, sizeof(GTP), compare_tags);