summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha Schumann <sas@php.net>2000-05-23 19:27:02 +0000
committerSascha Schumann <sas@php.net>2000-05-23 19:27:02 +0000
commit5d10b23a788c703e21f3506bac3182b86066096c (patch)
treeaf1ad4d973f30e9bd2be9d77d2d107e2f4d4898f
parent1ea8d6afacc82649a4c6affed6225bc3cc00b8b7 (diff)
downloadphp-git-5d10b23a788c703e21f3506bac3182b86066096c.tar.gz
Make calc_levdist static and fix pointer swapping.
-rw-r--r--ext/standard/levenshtein.c14
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;
}