summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2002-11-14 21:09:41 +0000
committerMarcus Boerger <helly@php.net>2002-11-14 21:09:41 +0000
commita14bc7685d6a3abb4860b15fe95a2ade41ccce4c (patch)
treedca50129e0dfca7e478c811b5d6005a0aa345cd2
parent5ad332f846cab14223ca038888bac8de2e01479c (diff)
downloadphp-git-a14bc7685d6a3abb4860b15fe95a2ade41ccce4c.tar.gz
Add magic_quotes_runtime support
-rw-r--r--ext/dba/dba.c4
-rw-r--r--ext/dba/tests/dba008.phpt25
2 files changed, 29 insertions, 0 deletions
diff --git a/ext/dba/dba.c b/ext/dba/dba.c
index 126319df6b..23679c065c 100644
--- a/ext/dba/dba.c
+++ b/ext/dba/dba.c
@@ -36,6 +36,7 @@
#include "php_dba.h"
#include "ext/standard/info.h"
+#include "ext/standard/php_string.h"
#include "php_gdbm.h"
#include "php_ndbm.h"
@@ -613,6 +614,9 @@ PHP_FUNCTION(dba_fetch)
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;
diff --git a/ext/dba/tests/dba008.phpt b/ext/dba/tests/dba008.phpt
new file mode 100644
index 0000000000..a8bcafe809
--- /dev/null
+++ b/ext/dba/tests/dba008.phpt
@@ -0,0 +1,25 @@
+--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) "\""