cvs: php4(PHP_4_2_0) /ext/standard versioning.c

From: Date: Mon, 24 Jun 2002 08:24:21 +0000
Subject: cvs: php4(PHP_4_2_0) /ext/standard versioning.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-12484@lists.php.net to get a copy of this message
derick Mon Jun 24 04:24:21 2002 EDT Modified files: (Branch: PHP_4_2_0) /php4/ext/standard versioning.c Log: - MFH Index: php4/ext/standard/versioning.c diff -u php4/ext/standard/versioning.c:1.8 php4/ext/standard/versioning.c:1.8.2.1 --- php4/ext/standard/versioning.c:1.8 Thu Feb 28 03:26:50 2002 +++ php4/ext/standard/versioning.c Mon Jun 24 04:24:21 2002 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: versioning.c,v 1.8 2002/02/28 08:26:50 sebastian Exp $ */ +/* $Id: versioning.c,v 1.8.2.1 2002/06/24 08:24:21 derick Exp $ */ #include <stdio.h> #include <sys/types.h> @@ -105,12 +105,21 @@ PHPAPI int php_version_compare(const char *orig_ver1, const char *orig_ver2) { - char *ver1 = php_canonicalize_version(orig_ver1); - char *ver2 = php_canonicalize_version(orig_ver2); + char *ver1; + char *ver2; char *p1, *p2, *n1, *n2; long l1, l2; int compare = 0; + if (!*orig_ver1 || !*orig_ver2) { + if (!*orig_ver1 && !*orig_ver2) { + return 0; + } else { + return *orig_ver1 ? 1 : -1; + } + } + ver1 = php_canonicalize_version(orig_ver1); + ver2 = php_canonicalize_version(orig_ver2); p1 = n1 = ver1; p2 = n2 = ver2; while (*p1 && *p2 && n1 && n2) { @@ -187,22 +196,22 @@ if (argc == 2) { RETURN_LONG(compare); } - if (!strcmp(op, "<") || !strcmp(op, "lt")) { + if (!strncmp(op, "<", op_len) || !strncmp(op, "lt", op_len)) { RETURN_BOOL(compare == -1); } - if (!strcmp(op, "<=") || !strcmp(op, "le")) { + if (!strncmp(op, "<=", op_len) || !strncmp(op, "le", op_len)) { RETURN_BOOL(compare != 1); } - if (!strcmp(op, ">") || !strcmp(op, "gt")) { + if (!strncmp(op, ">", op_len) || !strncmp(op, "gt", op_len)) { RETURN_BOOL(compare == 1); } - if (!strcmp(op, ">=") || !strcmp(op, "ge")) { + if (!strncmp(op, ">=", op_len) || !strncmp(op, "ge", op_len)) { RETURN_BOOL(compare != -1); } - if (!strcmp(op, "==") || !strcmp(op, "=") || !strcmp(op, "eq")) { + if (!strncmp(op, "==", op_len) || !strncmp(op, "=", op_len) || !strncmp(op, "eq", op_len)) { RETURN_BOOL(compare == 0); } - if (!strcmp(op, "!=") || !strcmp(op, "<>") || !strcmp(op, "ne")) { + if (!strncmp(op, "!=", op_len) || !strncmp(op, "<>", op_len) || !strncmp(op, "ne", op_len)) { RETURN_BOOL(compare != 0); } RETURN_NULL();

« previous php.cvs (#12484) next »