]> code.citadel.org Git - citadel.git/blobdiff - citadel/tools.c
* Removed references to strucmp() and struncmp(), replaced them with
[citadel.git] / citadel / tools.c
index 46c895a15c97711934334d664876be6b44a84e52..5cb896c6f16da59bf3b87904e55f75324a94959b 100644 (file)
@@ -3,6 +3,7 @@
  * $Id$
  */
 
+#include "sysdep.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <ctype.h>
@@ -19,17 +20,36 @@ static byte dtable[256];          /* base64 encode / decode table */
 
 char *safestrncpy(char *dest, const char *src, size_t n)
 {
-  if (dest == NULL || src == NULL)
-    {
-      fprintf(stderr, "safestrncpy: NULL argument\n");
-      abort();
-    }
-  strncpy(dest, src, n);
-  dest[n - 1] = 0;
-  return dest;
+       if (dest == NULL || src == NULL) {
+               fprintf(stderr, "safestrncpy: NULL argument\n");
+               abort();
+       }
+       strncpy(dest, src, n);
+       dest[n - 1] = 0;
+       return dest;
 }
 
 
+
+#ifndef HAVE_STRNCASECMP
+int strncasecmp(char *lstr, char *rstr, int len)
+{
+       int pos = 0;
+       char lc,rc;
+       while (pos<len) {
+               lc=tolower(lstr[pos]);
+               rc=tolower(rstr[pos]);
+               if ((lc==0)&&(rc==0)) return(0);
+               if (lc<rc) return(-1);
+               if (lc>rc) return(1);
+               pos=pos+1;
+       }
+       return(0);
+}
+#endif
+
+
+
 /*
  * num_tokens()  -  discover number of parameters/tokens in a string
  */