Skip to content

Commit 7f6c333

Browse files
arjenscholsodabrew
authored andcommitted
Cannot reset OPT_PREFIX_KEY #293 (#294)
- ZSTR_VAL(str) == 0 should be ZSTR_LEN(str) == 0 - add reset_keyprefix.phpt to package.xml
1 parent dd02191 commit 7f6c333

File tree

3 files changed

+40
-1
lines changed

3 files changed

+40
-1
lines changed

package.xml

+1
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@ Tests
164164
<file role='test' name='session_regenerate.phpt'/>
165165
<file role='test' name='stats.phpt'/>
166166
<file role='test' name='default_behavior.phpt'/>
167+
<file role='test' name='reset_keyprefix.phpt'/>
167168
</dir>
168169
</dir>
169170
</contents>

php_memcached.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -2867,7 +2867,7 @@ int php_memc_set_option(php_memc_object_t *intern, long option, zval *value)
28672867
char tmp[MEMCACHED_PREFIX_KEY_MAX_SIZE - 1];
28682868
#endif
28692869
str = zval_get_string(value);
2870-
if (ZSTR_VAL(str) == 0) {
2870+
if (ZSTR_LEN(str) == 0) {
28712871
key = NULL;
28722872
} else {
28732873
/*

tests/reset_keyprefix.phpt

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
--TEST--
2+
Cannot reset OPT_PREFIX_KEY #293
3+
--SKIPIF--
4+
<?php include "skipif.inc";?>
5+
--FILE--
6+
<?php
7+
include dirname (__FILE__) . '/config.inc';
8+
9+
$m = memc_get_instance ();
10+
11+
$m->set('key1', 'abc');
12+
var_dump($m->get('key1'));
13+
14+
$m->setOption(Memcached::OPT_PREFIX_KEY, 'prefix');
15+
var_dump($m->get('key1'));
16+
17+
$m->setOption(Memcached::OPT_PREFIX_KEY, false);
18+
var_dump($m->get('key1'));
19+
20+
$m->setOption(Memcached::OPT_PREFIX_KEY, 'prefix');
21+
var_dump($m->get('key1'));
22+
23+
$m->setOption(Memcached::OPT_PREFIX_KEY, '');
24+
var_dump($m->get('key1'));
25+
26+
$m->setOption(Memcached::OPT_PREFIX_KEY, 'prefix');
27+
var_dump($m->get('key1'));
28+
29+
$m->setOption(Memcached::OPT_PREFIX_KEY, null);
30+
var_dump($m->get('key1'));
31+
--EXPECTF--
32+
string(3) "abc"
33+
bool(false)
34+
string(3) "abc"
35+
bool(false)
36+
string(3) "abc"
37+
bool(false)
38+
string(3) "abc"

0 commit comments

Comments
 (0)