Index: trunk/xcache.c
===================================================================
--- trunk/xcache.c	(revision 854)
+++ trunk/xcache.c	(revision 856)
@@ -267,5 +267,5 @@
 	stored_xce = type == XC_TYPE_PHP
 		? (xc_entry_t *) xc_processor_store_xc_entry_php_t(cache, (xc_entry_php_t *) xce TSRMLS_CC)
-		: xc_processor_store_xc_entry_t(cache, xce TSRMLS_CC);
+		: (xc_entry_t *) xc_processor_store_xc_entry_var_t(cache, (xc_entry_var_t *) xce TSRMLS_CC);
 	if (stored_xce) {
 		xc_entry_add_dmz(cache, entryslotid, stored_xce);
@@ -281,4 +281,9 @@
 {
 	return (xc_entry_php_t *) xc_entry_store_dmz(XC_TYPE_PHP, cache, entryslotid, (xc_entry_t *) xce TSRMLS_CC);
+}
+/* }}} */
+static xc_entry_var_t *xc_entry_var_store_dmz(xc_cache_t *cache, xc_hash_value_t entryslotid, xc_entry_var_t *xce TSRMLS_DC) /* {{{ */
+{
+	return (xc_entry_var_t *) xc_entry_store_dmz(XC_TYPE_VAR, cache, entryslotid, (xc_entry_t *) xce TSRMLS_CC);
 }
 /* }}} */
@@ -2754,5 +2759,5 @@
 		}
 		xce.value = value;
-		RETVAL_BOOL(xc_entry_store_dmz(XC_TYPE_VAR, cache, entry_hash.entryslotid, (xc_entry_t *) &xce TSRMLS_CC) != NULL ? 1 : 0);
+		RETVAL_BOOL(xc_entry_var_store_dmz(cache, entry_hash.entryslotid, &xce TSRMLS_CC) != NULL ? 1 : 0);
 	} LEAVE_LOCK(cache);
 }
@@ -2944,5 +2949,5 @@
 			xc_entry_remove_dmz(XC_TYPE_VAR, cache, entry_hash.cacheslotid, (xc_entry_t *) stored_xce TSRMLS_CC);
 		}
-		xc_entry_store_dmz(XC_TYPE_VAR, cache, entry_hash.cacheslotid, (xc_entry_t *) &xce TSRMLS_CC);
+		xc_entry_var_store_dmz(cache, entry_hash.cacheslotid, &xce TSRMLS_CC);
 
 	} LEAVE_LOCK(cache);
