#include <stddef.h>
#include <stdlib.h>
#include <ctype.h>
#include <stdio.h>
#include <assert.h>

#include "sysdep.h"

/* for assert; these should be in the system library */
int __fail_line;
const char *__fail_file;
const char *__fail_assertion;

/* Warning:  this is pretty broken (inefficient, etc) */

#define tol(c) (isupper(c)?tolower(c):(c))

int
strcasecmp(s1, s2)
     register const char *s1;
     register const char *s2;
{
  while (*s1 != '\0' && tol(*s1) == tol(*s2))
    ++s1, ++s2;

  if (*s1 == *s2) 
    return 0;
  else
    if (*s1 < *s2) 
      return -1;
    else
      return 1;
}

int
strncasecmp(s1, s2, len)
     register const char *s1;
     register const char *s2;
     size_t len;
{
  int i=0;

  while (*s1 != '\0' && tol(*s1) == tol(*s2) && i++ < len)
    ++s1, ++s2;

  if (i == len || *s1 == *s2) 
    return 0;
  else
    if (*s1 < *s2) 
      return -1;
    else
      return 1;
}

