diff options
Diffstat (limited to 'str_diff.c')
-rw-r--r-- | str_diff.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/str_diff.c b/str_diff.c new file mode 100644 index 0000000..47dff22 --- /dev/null +++ b/str_diff.c | |||
@@ -0,0 +1,17 @@ | |||
1 | /* Public domain. */ | ||
2 | |||
3 | #include "str.h" | ||
4 | |||
5 | int str_diff(register const char *s,register const char *t) | ||
6 | { | ||
7 | register char x; | ||
8 | |||
9 | for (;;) { | ||
10 | x = *s; if (x != *t) break; if (!x) break; ++s; ++t; | ||
11 | x = *s; if (x != *t) break; if (!x) break; ++s; ++t; | ||
12 | x = *s; if (x != *t) break; if (!x) break; ++s; ++t; | ||
13 | x = *s; if (x != *t) break; if (!x) break; ++s; ++t; | ||
14 | } | ||
15 | return ((int)(unsigned int)(unsigned char) x) | ||
16 | - ((int)(unsigned int)(unsigned char) *t); | ||
17 | } | ||