Пример #1
0
void
solve(char *test)
{
	int i, len = strlen(test);
	Words tmp;
	strcpy(tmp.word, test);
	if(bsearch(&tmp, sorted, total_words, sizeof(Words), cmp) != NULL) {
		printf("%s is correct\n", test);
		return;
	}
	printf("%s: ", test);
	for(i=0; i<total_words; i++) {
		if(words[i].len>len+1 || len>words[i].len+1)
			continue;
		if(words[i].len == len+1) {
			if(is_within(test, words[i].word))
				printf("%s ", words[i].word);
		} else if(words[i].len+1 == len) {
			if(is_within(words[i].word, test))
				printf("%s ", words[i].word);
		} else {
			if(is_replace(words[i].word, test))
				printf("%s ", words[i].word);
		}
	}
	printf("\n");
}
Пример #2
0
int			is_redir(t_lex *lex, t_token_ht *token_ht, int i)
{
	if (lex->line[i] == '>' && lex->line[i + 1] == '>')
		i = is_add(lex, token_ht, i);
	else if (lex->line[i] == '<' && lex->line[i + 1] == '<')
		i = is_heredoc(lex, token_ht, i);
	else if (lex->line[i] == '<' && lex->line[i - 1] != '<')
		i = is_in(lex, token_ht, i);
	else if (lex->line[i] == '>' && lex->line[i - 1] != '>')
		i = is_replace(lex, token_ht, i);
	else
		return (0);
	if (lex->fd[0] != -1 || lex->fd[1] != -1)
	{
		lex->fd[0] = -1;
		lex->fd[0] = -1;
	}
	return (i);
}