Cannot reset OPT_PREFIX_KEY #293 (#294)

- ZSTR_VAL(str) == 0 should be ZSTR_LEN(str) == 0
- add reset_keyprefix.phpt to package.xml
This commit is contained in:
Arjen
2017-01-20 13:20:42 +01:00
committed by Aaron Stone
parent dd02191686
commit 7f6c333032
3 changed files with 40 additions and 1 deletions

View File

@@ -164,6 +164,7 @@ Tests
<file role='test' name='session_regenerate.phpt'/>
<file role='test' name='stats.phpt'/>
<file role='test' name='default_behavior.phpt'/>
<file role='test' name='reset_keyprefix.phpt'/>
</dir>
</dir>
</contents>

View File

@@ -2867,7 +2867,7 @@ int php_memc_set_option(php_memc_object_t *intern, long option, zval *value)
char tmp[MEMCACHED_PREFIX_KEY_MAX_SIZE - 1];
#endif
str = zval_get_string(value);
if (ZSTR_VAL(str) == 0) {
if (ZSTR_LEN(str) == 0) {
key = NULL;
} else {
/*

View File

@@ -0,0 +1,38 @@
--TEST--
Cannot reset OPT_PREFIX_KEY #293
--SKIPIF--
<?php include "skipif.inc";?>
--FILE--
<?php
include dirname (__FILE__) . '/config.inc';
$m = memc_get_instance ();
$m->set('key1', 'abc');
var_dump($m->get('key1'));
$m->setOption(Memcached::OPT_PREFIX_KEY, 'prefix');
var_dump($m->get('key1'));
$m->setOption(Memcached::OPT_PREFIX_KEY, false);
var_dump($m->get('key1'));
$m->setOption(Memcached::OPT_PREFIX_KEY, 'prefix');
var_dump($m->get('key1'));
$m->setOption(Memcached::OPT_PREFIX_KEY, '');
var_dump($m->get('key1'));
$m->setOption(Memcached::OPT_PREFIX_KEY, 'prefix');
var_dump($m->get('key1'));
$m->setOption(Memcached::OPT_PREFIX_KEY, null);
var_dump($m->get('key1'));
--EXPECTF--
string(3) "abc"
bool(false)
string(3) "abc"
bool(false)
string(3) "abc"
bool(false)
string(3) "abc"