コード例 #1
0
ファイル: cosb2cos.cpp プロジェクト: Nitrus/residualvm-tools
	void readFromFile(std::istream &file) {
		// Split this into tag & name later.
		_trackName = readString(file);
		_tag = getTag(_trackName);
		_trackName = getCompName(_trackName);
		_hash = readInt(file);
		_parentID = readInt(file);
		_numKeys = readInt(file);
		
		pushtag(_tag);
		
		_keys = new TrackKey[_numKeys];
		for (int k = 0; k < _numKeys; k++) {
			_keys[k].readFromFile(file);
		}
	}
コード例 #2
0
ファイル: tags.c プロジェクト: hackalog/mg
/*
 * Ask user for a tag while treating word at dot as default. Visit tags
 * file if not yet done, load tags and jump to definition of the tag.
 */
int
findtag(int f, int n)
{
	char utok[MAX_TOKEN], dtok[MAX_TOKEN];
	char *tok, *bufp;
	int  ret;

	if (curtoken(f, n, dtok) == FALSE) {
		dtok[0] = '\0';
		bufp = eread("Find tag:", utok, MAX_TOKEN, EFNUL | EFNEW);
	} else
		bufp = eread("Find tag (default %s):", utok, MAX_TOKEN,
		    EFNUL | EFNEW, dtok);

	if (bufp == NULL)
		return (ABORT);
	else if	(bufp[0] == '\0')
		tok = dtok;
	else
		tok = utok;
	
	if (tok[0] == '\0') {
		dobeep();
		ewprintf("There is no default tag");
		return (FALSE);
	}
	
	if (tagsfn == NULL)
		if ((ret = tagsvisit(f, n)) != TRUE)
			return (ret);
	if (!loaded) {
		if (loadtags(tagsfn) == FALSE) {
			free(tagsfn);
			tagsfn = NULL;
			return (FALSE);
		}
		loaded = TRUE;
	}
	return pushtag(tok);
}