Beispiel #1
0
void token(char *lin,char *tok[],int *ntok,char *outbuff) {
int jj;
int tj;
char *cp;
char *p2 = NULL;
	*ntok = 0;
	in_quote = false;
	if (table_loaded==false) token_init();
	cp = lin;
	cp = find_non_space(cp);
	while (*cp!=0) {
		if (*cp==' ' || *cp=='	') {
			*cp = ' ';
			cp = find_non_space(cp);
		}
		if (*cp == '!') goto endofline;
		p2 = find_term(cp);
		jj = p2-cp+1;
		if (jj==0) goto endofline;
		add_tok(cp,jj);
		cp = p2 + 1 ;
		if (*ntok>280) subscript();
	}
endofline:;
	if (*ntok>0) {
		if ( (*tok[*ntok])=='\n' ) (*ntok)--;
		if (strcmp(tok[*ntok]," ")==0) (*ntok)--;
		if (*ntok>0) p2 =  tok[*ntok] + strlen(tok[*ntok])  - 1;
		if (*p2==10) *p2 = 0;
	}
}
char * rev_line_rev_alt_word(char *input,int len)
{
	int i=0,j=0,flag=1;
	input=rev_line(input,0,len-1);
	find_non_space(input,&i);
	while(input[i]!=NULL)
	{
		j=i;
		find_space(input,&j);
		if(flag==1)
		{
			flag=0;
		}
		else
		{
			input=rev_line(input,i,j);
			flag=1;
		}
		i=j+1;
		find_non_space(input,&i);
	}
	return input;
}