hholzgra                Tue Sep 17 08:37:26 2002 EDT

  Modified files:              
    /php4/ext/standard  basic_functions.c head.c 
  Log:
  headers_sent() may now return information about where output started
  using the optional $file and $line reference parameters
  
  
Index: php4/ext/standard/basic_functions.c
diff -u php4/ext/standard/basic_functions.c:1.504 
php4/ext/standard/basic_functions.c:1.505
--- php4/ext/standard/basic_functions.c:1.504   Wed Sep 11 14:13:48 2002
+++ php4/ext/standard/basic_functions.c Tue Sep 17 08:37:26 2002
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: basic_functions.c,v 1.504 2002/09/11 18:13:48 andrey Exp $ */
+/* $Id: basic_functions.c,v 1.505 2002/09/17 12:37:26 hholzgra Exp $ */
 
 #include "php.h"
 #include "php_streams.h"
@@ -94,6 +94,7 @@
 
 #include "php_fopen_wrappers.h"
 
+static unsigned char first_and_second__args_force_ref[] = { 2, BYREF_FORCE, 
+BYREF_FORCE };
 static unsigned char second_and_third_args_force_ref[] = { 3, BYREF_NONE, 
BYREF_FORCE, BYREF_FORCE };
 static unsigned char second_args_force_ref[] = { 2, BYREF_NONE, BYREF_FORCE };
 static unsigned char third_and_fourth_args_force_ref[] = { 4, BYREF_NONE, BYREF_NONE, 
BYREF_FORCE, BYREF_FORCE };
@@ -540,7 +541,7 @@
        PHP_FE(ini_restore,                                                            
                                                 NULL)
 
        PHP_FE(setcookie,                                                              
                                                 NULL)
-       PHP_FE(header,                                                                 
                                                 NULL)
+       PHP_FE(header,                                                                 
+                                                 first_and_second__args_force_ref)
        PHP_FE(headers_sent,                                                           
                                         NULL)
 
        PHP_FE(connection_aborted,                                                     
                                         NULL)
Index: php4/ext/standard/head.c
diff -u php4/ext/standard/head.c:1.63 php4/ext/standard/head.c:1.64
--- php4/ext/standard/head.c:1.63       Thu Sep  5 10:21:55 2002
+++ php4/ext/standard/head.c    Tue Sep 17 08:37:26 2002
@@ -15,7 +15,7 @@
    | Author: Rasmus Lerdorf <[EMAIL PROTECTED]>                        |
    +----------------------------------------------------------------------+
  */
-/* $Id: head.c,v 1.63 2002/09/05 14:21:55 hyanantha Exp $ */
+/* $Id: head.c,v 1.64 2002/09/17 12:37:26 hholzgra Exp $ */
 
 #include <stdio.h>
 
@@ -161,13 +161,24 @@
 /* }}} */
 
 
-/* {{{ proto int headers_sent(void)
+/* {{{ proto bool headers_sent([string &$file [, int &$line]])
    Returns true if headers have already been sent, false otherwise */
 PHP_FUNCTION(headers_sent)
 {
-       if (ZEND_NUM_ARGS() != 0) {
-               php_error_docref(NULL TSRMLS_CC, E_WARNING, "No parameters expected, 
%d given", ZEND_NUM_ARGS());
+       zval *arg1, *arg2;
+
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|zz", &arg1, &arg2) == 
+FAILURE)
                return;
+
+       
+       switch(ZEND_NUM_ARGS()) {
+       case 2:
+               zval_dtor(arg2);
+               ZVAL_LONG(arg2, php_get_output_start_lineno(TSRMLS_C));
+       case 1:
+               zval_dtor(arg1);
+               ZVAL_STRING(arg1, php_get_output_start_filename(TSRMLS_C), 1);
+               break;
        }
 
        if (SG(headers_sent)) {



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to