コード例 #1
0
ファイル: Path.cpp プロジェクト: aapo/numptyphysics
bool
SVGPathTokenizer::next(std::string &output)
{
    if (m_ipos < m_path.length()) {
        // Scan forward to first non-space character
        while (m_ipos < m_path.length() && _isspace(m_path.at(m_ipos))) {
            m_ipos++;
        }

        int start = m_ipos;
        char c = m_path.at(start);
        if (_isctrl(c)) {
            output = m_path.substr(start, 1);
            m_ipos++;
            return true;
        }

        if (_isnumber(c)) {
            while (m_ipos < m_path.length() && _isnumber(m_path.at(m_ipos))) {
                m_ipos++;
            };

            int end = m_ipos;
            output = m_path.substr(start, end-start);
            m_ipos++;
            return true;
        }
    }

    return false;
}
コード例 #2
0
ファイル: modes.c プロジェクト: said/pineapple
void _parsecmd(char cmd[]){
	//if(cmd[1] == 'w'){
	//switch(strcmp(cmd,
	if(strcmp(cmd, ":w") == 0){
		lft_savefile(filename);
		saved = 1;
	}else if(strcmp(cmd, ":q") == 0){
		if(!saved){
			setdisplay("no write since last change! use :q! to override");
		}else{
			erase();
			refresh();
			endwin();
			exit(0);
		}
	}else if(strcmp(cmd, ":q!") == 0){
		erase();
		refresh();
		endwin();
		exit(0);
	}else if(strcmp(cmd, ":write") == 0){
		lft_savefile(filename);
		saved = 1;
	}else if(strcmp(cmd, ":wq") == 0 || strcmp(cmd, ":x") == 0){
		lft_savefile(filename);
		saved = 1;
		erase();
		refresh();
		endwin();
		exit(0);
	}else if(strcmp(cmd, ":quit") == 0){
		erase();
		refresh();
		endwin();
		exit(0);
	}else if(cmd[1]=='e' && cmd[2]==' '){
		// if the file doesn't exist, clear the song
		if(lft_loadfile(cmd+3)){
			initsonglines();
			inittracks();
			initinstrs();
		}
	//yucky if statement below.....probably better way to do it
	// maybe this is better??
	}else if(!strncmp(cmd+1,"save ",5)){
		lft_saveinstrument(cmd+6);
		setdisplay("d-_-b saved ins! d-_-b");
	}else if(!strncmp(cmd+1,"load ",5)){
		lft_loadinstrument(cmd+6);
		setdisplay("d-_-b loaded ins! d-_-b");
	}else if( _isnumber((char *)cmd+1,isxdigit) ){
		unsigned int goton = 1;
		xtoi(cmd+1,&goton);

		switch(currtab){
			case 0:
				songy = (goton>tune->songlen)? tune->songlen-1 : goton;
				break;
			case 1:
				currtrack = (goton>0xff)? 0xff : goton;
				break;
			case 2:
				currinstr = (goton>0xff)? 0xff : goton;
				break;
		}
	}else if(cmd[1] == 'c' && cmd[2] == ' '){
		strncpy(comment, cmd+3, sizeof(comment));
	}else
		setdisplay("not a tracker command!");
	return;
}