
#include "quiz.h"

struct thai_phrase *
thai_search ( curr , pattern , direction )
struct thai_phrase *curr;
char *pattern;
int direction;
{
	if ( curr == NULL )
		return ( NULL );
	while ( TRUE ) {
		curr = ( direction == NEXT_ENTRY ) ? curr->next : curr->prev;
		if ( curr == NULL )
			return ( NULL );
		if ( strcmp ( pattern , curr->thai ) == 0 )
			return ( curr );
	}
}


struct thai_phrase *
phonetic_search ( curr , pattern , direction )
struct thai_phrase *curr;
char *pattern;
int direction;
{
	if ( curr == NULL )
		return ( NULL );
	while ( TRUE ) {
		curr = ( direction == NEXT_ENTRY ) ? curr->next : curr->prev;
		if ( curr == NULL )
			return ( NULL );
		if ( match ( curr->phonetic , pattern ) )
			return ( curr );
	}
}


struct thai_phrase *
english_search ( curr , pattern , direction )
struct thai_phrase *curr;
char *pattern;
int direction;
{
	if ( curr == NULL )
		return ( NULL );
	while ( TRUE ) {
		curr = ( direction == NEXT_ENTRY ) ? curr->next : curr->prev;
		if ( curr == NULL )
			return ( NULL );
		if ( match ( curr->english , pattern ) )
			return ( curr );
	}
}


match ( buf , pattern )
char *buf , *pattern;
{
	register int i , j;

	for ( i = 0; buf[i] != '\0'; i++ ) {
		for ( j = 0; pattern[j] != '\0'; j++ )
			if ( mklower ( buf[i+j] ) != mklower ( pattern[j] ) )
				break;
		if ( pattern[j] == '\0' )
			return ( TRUE );
	}
	return ( FALSE );
}

