#include "php_dba.h"
#include "ext/standard/info.h"
+#include "ext/standard/php_string.h"
#include "php_gdbm.h"
#include "php_ndbm.h"
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Handler %s does not support optional skip parameter", info->hnd->name);
}
if((val = info->hnd->fetch(info, VALLEN(key), skip, &len TSRMLS_CC)) != NULL) {
+ if (val && PG(magic_quotes_runtime)) {
+ val = php_addslashes(val, len, &len, 1 TSRMLS_CC);
+ }
RETURN_STRINGL(val, len, 0);
}
RETURN_FALSE;
--- /dev/null
+--TEST--
+DBA magic_quotes_runtime Test
+--SKIPIF--
+<?php
+ require_once('skipif.inc');
+?>
+--FILE--
+<?php
+ require_once('test.inc');
+ echo "database handler: $handler\n";
+ if (($db_file=dba_open($db_file, "n", $handler))!==FALSE) {
+ dba_insert("key1", '"', $db_file);
+ ini_set('magic_quotes_runtime', 0);
+ var_dump(dba_fetch("key1", $db_file));
+ ini_set('magic_quotes_runtime', 1);
+ var_dump(dba_fetch("key1", $db_file));
+ dba_close($db_file);
+ } else {
+ echo "Error creating database\n";
+ }
+?>
+--EXPECTF--
+database handler: %s
+string(1) """
+string(2) "\""