]> granicus.if.org Git - php/commitdiff
Add magic_quotes_runtime support
authorMarcus Boerger <helly@php.net>
Thu, 14 Nov 2002 21:09:41 +0000 (21:09 +0000)
committerMarcus Boerger <helly@php.net>
Thu, 14 Nov 2002 21:09:41 +0000 (21:09 +0000)
ext/dba/dba.c
ext/dba/tests/dba008.phpt [new file with mode: 0644]

index 126319df6b2072533ee84bdf885a285f006da831..23679c065c2830ed412eeb5414d22a103d5a4bac 100644 (file)
@@ -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 (file)
index 0000000..a8bcafe
--- /dev/null
@@ -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) "\""