Index: /branches/1.3/xcache.c
===================================================================
--- /branches/1.3/xcache.c	(revision 593)
+++ /branches/1.3/xcache.c	(revision 595)
@@ -651,5 +651,5 @@
 		if (VCWD_STAT(filepath, pbuf) == 0) {
 			free_alloca(paths);
-			return 0;
+			return SUCCESS;
 		}
 	}
@@ -657,5 +657,5 @@
 	free_alloca(paths);
 
-	return 1;
+	return FAILURE;
 }
 /* }}} */
@@ -703,5 +703,9 @@
 
 	if (!filename || !SG(request_info).path_translated) {
-		return 0;
+		return FAILURE;
+	}
+
+	if (strstr(filename, "://") != NULL) {
+		return FAILURE;
 	}
 
@@ -721,5 +725,5 @@
 		if (IS_ABSOLUTE_PATH(filename, strlen(filename))) {
 			if (VCWD_STAT(filename, pbuf) != 0) {
-				return 0;
+				return FAILURE;
 			}
 			goto stat_done;
@@ -737,5 +741,5 @@
 
 			if (VCWD_STAT(filename, pbuf) != 0) {
-				return 0;
+				return FAILURE;
 			}
 			goto stat_done;
@@ -744,6 +748,6 @@
 
 		/* use include_path */
-		if (xc_stat(filename, PG(include_path), pbuf TSRMLS_CC) != 0) {   
-			return 0;
+		if (xc_stat(filename, PG(include_path), pbuf TSRMLS_CC) != SUCCESS) {
+			return FAILURE;
 		}
 
@@ -753,5 +757,5 @@
 		delta = XG(request_time) - pbuf->st_mtime;
 		if (abs(delta) < 2 && !xc_test) {
-			return 0;
+			return FAILURE;
 		}
 
@@ -779,5 +783,5 @@
 		filename = expand_filepath(filename, opened_path_buffer TSRMLS_CC);
 		if (filename == NULL) {
-			return 0;
+			return FAILURE;
 		}
 	}
@@ -793,5 +797,10 @@
 
 	xce->type = XC_TYPE_PHP;
-	return 1;
+	return SUCCESS;
+}
+/* }}} */
+static inline xc_hash_value_t xc_php_hash_md5(xc_entry_data_php_t *php TSRMLS_DC) /* {{{ */
+{
+	return HASH_STR_S(php->md5, sizeof(php->md5));
 }
 /* }}} */
@@ -866,5 +875,5 @@
 	filename = h->opened_path ? h->opened_path : h->filename;
 	xce.data.php = &php;
-	if (!xc_entry_init_key_php(&xce, filename, opened_path_buffer TSRMLS_CC)) {
+	if (xc_entry_init_key_php(&xce, filename, opened_path_buffer TSRMLS_CC) != SUCCESS) {
 		return old_compile_file(h, type TSRMLS_CC);
 	}
