#include "deftype.h"

int GetToken(unchar *line,int no,unchar *token,unchar *sep)
/* line:00で終わる文字列 -> token */
/* no:token番号(1-) */
/* sep:セパレーター群（8bit-code only）*/
/* return : 0=tokenなし , 1=あり */
{
unint count=0;
	*token=0;
	/* token番号が0の時、セパレーター指定が無い時はtokenなし */
	if (no==0||*sep==0) return(0);
	
	while (1) {
		/* skip sparaters */
		while (kstrchar(sep,*line)>=0) line++;
		if (*line==0) return(0); /* token番号 > 実際にあるtoken数 */
		
		count++; /* tokenの数 */
		if (count==no) break;
		
		/* skip word */
		while (kstrchar(sep,*line)<0) {
			if (*line++==0) return(0);
		}
	}
	/* token発見 : 切り出し */
	while (kstrchar(sep,*line)<0) {
		if ((*token++=*line++)==0) break;
	}
	*token=0; /* EOS */
	return(1);
}

#if 0
main()
{
unchar token[100];
int i,no;
#define MES "unchar *line,int no,unchar *token,unchar *sep"
	no=GetTokenNo(MES," ,\t");
	printf("no=%d\n",no);
	for (i=1;i<=no;i++) {
		GetToken(MES,i,token," ,\t");
		printf("%d.%s\n",i,token);
	}
	i=1;
	while (GetToken(MES,i,token," ,\t")>0) {
		printf("%d.%s\n",i,token);
		i++;
	}
}
#endif
