/*
**    Name: strncasecmp.c
**
**    Date: Thu Jan 10 14:34:09 2002
**
*/

#include <string.h>
#include <stdlib.h>
#include "csstring.h"
#include <ctype.h>

int csstrncasecmp(const char *s1,const char *s2,size_t n)
    {
    int result = 0;

    while (n && *s1 != '\0' && *s2 != '\0')
        {
        result = toupper(*s1) - toupper(*s2);

        if (result != 0)
            {
            return result;
            }

        n--;
        s1++;
        s2++;
        }

/* If we ran out of characters then there is a difference */

    if (n)
        {
        if (*s2 == '\0')
            {
            return -1;
            }
        else
            {
            return 1;
            }
        }

    return result;
    }
