~ubuntu-branches/ubuntu/lucid/php5/lucid

« back to all changes in this revision

Viewing changes to ext/filter/filter.c

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2010-03-16 09:09:50 UTC
  • mfrom: (1.1.18 upstream) (0.3.10 sid)
  • Revision ID: james.westby@ubuntu.com-20100316090950-e36m0pzranoixifd
Tags: 5.3.2-1ubuntu1
* Merge from debian unstable: 
  - debian/control:
    * Dropped firebird2.1-dev, libc-client-dev, libmcrypt-dev as it is in universe.
    * Dropped libmysqlclient15-dev, build against mysql 5.1.
    * Dropped libcurl-dev not in the archive.
    * Suggest php5-suhosin rather than recommends.
    * Dropped php5-imap, php5-interbase, php5-mcrypt since we have versions already in
      universe.
    * Dropped libonig-dev and libqgdbm since its in universe. (will be re-added in lucid+1)
    * Dropped locales-all.
  - modulelist: Drop imap, interbase, and mcrypt.
  - debian/rules:
    * Dropped building of mcrypt, imap, and interbase.
    * Install apport hook for php5.
  - Dropped debian/patches/libedit_is_editline.patch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
  +----------------------------------------------------------------------+
3
3
  | PHP Version 5                                                        |
4
4
  +----------------------------------------------------------------------+
5
 
  | Copyright (c) 1997-2009 The PHP Group                                |
 
5
  | Copyright (c) 1997-2010 The PHP Group                                |
6
6
  +----------------------------------------------------------------------+
7
7
  | This source file is subject to version 3.01 of the PHP license,      |
8
8
  | that is bundled with this package in the file LICENSE, and is        |
19
19
  +----------------------------------------------------------------------+
20
20
*/
21
21
 
22
 
/* $Id: filter.c 289434 2009-10-09 17:32:53Z pajoye $ */
 
22
/* $Id: filter.c 294106 2010-01-27 17:22:54Z johannes $ */
23
23
 
24
24
#ifdef HAVE_CONFIG_H
25
25
#include "config.h"
251
251
 
252
252
        REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_LOW", FILTER_FLAG_STRIP_LOW, CONST_CS | CONST_PERSISTENT);
253
253
        REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_HIGH", FILTER_FLAG_STRIP_HIGH, CONST_CS | CONST_PERSISTENT);
 
254
        REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_BACKTICK", FILTER_FLAG_STRIP_BACKTICK, CONST_CS | CONST_PERSISTENT);
254
255
        REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_LOW", FILTER_FLAG_ENCODE_LOW, CONST_CS | CONST_PERSISTENT);
255
256
        REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_HIGH", FILTER_FLAG_ENCODE_HIGH, CONST_CS | CONST_PERSISTENT);
256
257
        REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_AMP", FILTER_FLAG_ENCODE_AMP, CONST_CS | CONST_PERSISTENT);
313
314
{
314
315
        php_info_print_table_start();
315
316
        php_info_print_table_row( 2, "Input Validation and Filtering", "enabled" );
316
 
        php_info_print_table_row( 2, "Revision", "$Revision: 289434 $");
 
317
        php_info_print_table_row( 2, "Revision", "$Revision: 294106 $");
317
318
        php_info_print_table_end();
318
319
 
319
320
        DISPLAY_INI_ENTRIES();
391
392
        ) {
392
393
                zval **tmp; 
393
394
                if (zend_hash_find(HASH_OF(options), "default", sizeof("default"), (void **)&tmp) == SUCCESS) {
394
 
                        **value = **tmp;
395
 
                        zval_copy_ctor(*value);
396
 
                        INIT_PZVAL(*value);
 
395
                        MAKE_COPY_ZVAL(tmp, *value);
397
396
                }
398
397
        }
399
398
}
678
677
                zval *tmp;
679
678
 
680
679
                ALLOC_ZVAL(tmp);
681
 
                *tmp = **filtered;
682
 
                zval_copy_ctor(tmp);
683
 
                INIT_PZVAL(tmp);
 
680
                MAKE_COPY_ZVAL(filtered, tmp);
684
681
 
685
682
                zval_dtor(*filtered);
686
683
 
700
697
 
701
698
        if (!op) {
702
699
                zval_dtor(return_value);
703
 
                *return_value = *input;
704
 
                zval_copy_ctor(return_value);
705
 
                INIT_PZVAL(return_value);
 
700
                MAKE_COPY_ZVAL(&input, return_value);
706
701
                php_filter_call(&return_value, FILTER_DEFAULT, NULL, 0, FILTER_REQUIRE_ARRAY TSRMLS_CC);
707
702
        } else if (Z_TYPE_PP(op) == IS_LONG) {
708
703
                zval_dtor(return_value);
709
 
                *return_value = *input;
710
 
                zval_copy_ctor(return_value);
711
 
                INIT_PZVAL(return_value);
 
704
                MAKE_COPY_ZVAL(&input, return_value);
712
705
                php_filter_call(&return_value, Z_LVAL_PP(op), NULL, 0, FILTER_REQUIRE_ARRAY TSRMLS_CC);
713
706
        } else if (Z_TYPE_PP(op) == IS_ARRAY) {
714
707
                array_init(return_value);
734
727
                                zval *nval;
735
728
 
736
729
                                ALLOC_ZVAL(nval);
737
 
                                *nval = **tmp;
738
 
                                zval_copy_ctor(nval);
739
 
                                INIT_PZVAL(nval);
 
730
                                MAKE_COPY_ZVAL(tmp, nval);
740
731
 
741
732
                                php_filter_call(&nval, -1, arg_elm, 0, FILTER_REQUIRE_SCALAR TSRMLS_CC);
742
733
                                add_assoc_zval_ex(return_value, arg_key, arg_key_len, nval);
777
768
                                filter_flags = Z_LVAL_PP(filter_args);
778
769
                        } else if (Z_TYPE_PP(filter_args) == IS_ARRAY && zend_hash_find(HASH_OF(*filter_args), "flags", sizeof("flags"), (void **)&option) == SUCCESS) {
779
770
                                PHP_FILTER_GET_LONG_OPT(option, filter_flags);
780
 
                        } else if (Z_TYPE_PP(filter_args) == IS_ARRAY && 
 
771
                        }
 
772
                        if (Z_TYPE_PP(filter_args) == IS_ARRAY && 
781
773
                                zend_hash_find(HASH_OF(*filter_args), "options", sizeof("options"), (void **)&opt) == SUCCESS &&
782
774
                                Z_TYPE_PP(opt) == IS_ARRAY &&
783
775
                                zend_hash_find(HASH_OF(*opt), "default", sizeof("default"), (void **)&def) == SUCCESS
784
776
                        ) {
785
 
                                *return_value = **def;
786
 
                                zval_copy_ctor(return_value);
787
 
                                INIT_PZVAL(return_value);
 
777
                                MAKE_COPY_ZVAL(def, return_value);
788
778
                                return;
789
779
                        }
790
780
                }
795
785
                }
796
786
        }
797
787
 
798
 
        *return_value = **tmp;
799
 
        zval_copy_ctor(return_value);  /* Watch out for empty strings */
800
 
        INIT_PZVAL(return_value);
 
788
        MAKE_COPY_ZVAL(tmp, return_value);
801
789
 
802
790
        php_filter_call(&return_value, filter, filter_args, 1, FILTER_REQUIRE_SCALAR TSRMLS_CC);
803
791
}
819
807
                RETURN_FALSE;
820
808
        }
821
809
 
822
 
        *return_value = *data;
823
 
        zval_copy_ctor(data);
824
 
        INIT_PZVAL(return_value);
 
810
        MAKE_COPY_ZVAL(&data, return_value);
825
811
 
826
812
        php_filter_call(&return_value, filter, filter_args, 1, FILTER_REQUIRE_SCALAR TSRMLS_CC);
827
813
}