summaryrefslogtreecommitdiff
path: root/ruby_1_8_6/missing/strncasecmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_1_8_6/missing/strncasecmp.c')
-rw-r--r--ruby_1_8_6/missing/strncasecmp.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/ruby_1_8_6/missing/strncasecmp.c b/ruby_1_8_6/missing/strncasecmp.c
new file mode 100644
index 0000000000..a4cc5828b8
--- /dev/null
+++ b/ruby_1_8_6/missing/strncasecmp.c
@@ -0,0 +1,21 @@
+/* public domain rewrite of strncasecmp(3) */
+
+#include <ctype.h>
+
+int
+strncasecmp(p1, p2, len)
+ char *p1;
+ char *p2;
+ int len;
+{
+ while (len != 0) {
+ if (toupper(*p1) != toupper(*p2)) {
+ return toupper(*p1) - toupper(*p2);
+ }
+ if (*p1 == '\0') {
+ return 0;
+ }
+ len--; p1++; p2++;
+ }
+ return 0;
+}