#include <ncbi.h>
#include <gishlib.h>

CharPtr _cdecl
str_rcasechr(s, c)
	CharPtr	s;
	register int	c;
{
	register BytePtr us = (BytePtr)s;
	register BytePtr	save;

	if (!isalpha(c))
		return str_rchr(s, c);

	while (TOUPPER(*us) != TOUPPER(c))
		if (*us++ == NULLB)
			return NULL;

	for (;;) {
		do
			save = us++;
		while (TOUPPER(*us) == TOUPPER(c));

		do
			if (*us++ == NULLB)
				return (CharPtr)save;
		while (TOUPPER(*us) != TOUPPER(c));
	}
}
