/*****************************************************************************/
/* */
-/* strutil.h */
+/* strutil.h */
/* */
-/* String utility functions */
+/* String utility functions */
/* */
/* */
/* */
-/* (C) 2001 Ullrich von Bassewitz */
-/* Wacholderweg 14 */
-/* D-70597 Stuttgart */
-/* EMail: uz@musoftware.de */
+/* (C) 2001-2003 Ullrich von Bassewitz */
+/* Roemerstrasse 52 */
+/* D-70794 Filderstadt */
+/* EMail: uz@cc65.org */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
#include <string.h>
+#include <ctype.h>
/* common */
#include "strutil.h"
/*****************************************************************************/
-/* Code */
+/* Code */
/*****************************************************************************/
char* StrCopy (char* Dest, size_t DestSize, const char* Source)
/* Copy Source to Dest honouring the maximum size of the target buffer. In
- * constrast to strncpy, the resulting string will always be NUL terminated.
- * The function returns the pointer to the destintation buffer.
- */
+** constrast to strncpy, the resulting string will always be NUL terminated.
+** The function returns the pointer to the destintation buffer.
+*/
{
size_t Len = strlen (Source);
if (Len >= DestSize) {
memcpy (Dest, Source, DestSize-1);
- Dest[DestSize-1] = '\0';
+ Dest[DestSize-1] = '\0';
} else {
- memcpy (Dest, Source, Len+1);
+ memcpy (Dest, Source, Len+1);
}
return Dest;
}
+int StrCaseCmp (const char* S1, const char* S2)
+/* Compare two strings ignoring case */
+{
+ int Diff;
+ while ((Diff = toupper (*S1) - toupper (*S2)) == 0 && *S1) {
+ ++S1;
+ ++S2;
+ }
+ return Diff;
+}
+
+
+