diff options
author | Sascha Schumann <sas@php.net> | 2000-05-23 19:27:02 +0000 |
---|---|---|
committer | Sascha Schumann <sas@php.net> | 2000-05-23 19:27:02 +0000 |
commit | 5d10b23a788c703e21f3506bac3182b86066096c (patch) | |
tree | af1ad4d973f30e9bd2be9d77d2d107e2f4d4898f | |
parent | 1ea8d6afacc82649a4c6affed6225bc3cc00b8b7 (diff) | |
download | php-git-5d10b23a788c703e21f3506bac3182b86066096c.tar.gz |
Make calc_levdist static and fix pointer swapping.
-rw-r--r-- | ext/standard/levenshtein.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/ext/standard/levenshtein.c b/ext/standard/levenshtein.c index a702d3cfea..4227cf05f4 100644 --- a/ext/standard/levenshtein.c +++ b/ext/standard/levenshtein.c @@ -23,7 +23,7 @@ #include <ctype.h> #include "php_string.h" -int calc_levdist(const char *s1, const char *s2) /* faster, but obfuscated */ +static int calc_levdist(const char *s1, const char *s2) /* faster, but obfuscated */ { register char *p1,*p2; register int i,j,n; @@ -60,8 +60,16 @@ int calc_levdist(const char *s1, const char *s2) /* faster, but obfuscated */ /* swap if l2 longer than l1 */ if(l1<l2) { - (long)s1 ^= (long)s2; (long)s2 ^= (long)s1; (long)s1 ^= (long)s2; - l1 ^= l2; l2 ^= l1; l1 ^= l2; + const char *s3; + int l3; + + s3 = s1; + s1 = s2; + s2 = s3; + + l3 = l1; + l1 = l2; + l2 = l3; } |