php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #16899 odbc_close() segmentation fault using FreeTDS/MSSQL7
Submitted: 2002-04-29 07:57 UTC Modified: 2002-05-21 23:33 UTC
From: olle at compound dot se Assigned:
Status: Not a bug Package: ODBC related
PHP Version: 4.2.0 OS: Redhat 7.2
Private report: No CVE-ID: None
 [2002-04-29 07:57 UTC] olle at compound dot se
I am running a locally compiled php 4.2.0 on a Redhat 7.2 box. My php-script connects to a MS SQL-server 7.0 via UnixODBS/FreeTDS and selects 40 000+ rows from a table. The actual select runs fine but when php starts releasing resources a segmentation violation occur. The segmentation violation only occur when (1) a greater part of all the fields in the table are included in the select, and (2) a greater part of all the rows of the table are selected. If either of these two conditions are not met the script will succeed.
The script has been tested on another Redhat box using iODBC/FreeTDS with similar results. Under Windows2000 the scripts runs fine. Both the FreeTDS rpm and a locally compiled latest code snaphot have been tried.

Below is a debugger stacktrace. It seems like an attempt to free() something which doesn't like to be freed.
The PHP-configuration used and the php-script can be found at the end of this report.

GDB-SESSION LOGG FROM RUNNING THE PHP_SCRIPT:

[olle@emilia tbookII]$ gdb /usr/local/bin/php
GNU gdb Red Hat Linux (5.1-1)
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...
(gdb) run ttt.php
Starting program: /usr/local/bin/php ttt.php
[New Thread 1024 (LWP 31957)]
query =
               select
                       id,
                       validfrom,
                       validto,
                       carrier,
                       city1,
                       city2,
                       minmax,
                       bookingclass,
                       price,
                       ruleno,
                       minstay,
                       maxstay,
                       inmap,
                       outmap,
                       staymap,
                       maxchdage,
                       chdprice,
                       maxchdadult,
                       ticketlatest,
                       ticketwithin,
                       accomppercent,
                       booklatest,
                       bookwithin,
                       tripendlatest,
                       campaign,
                       adultonlinediscount,
                       accompmax,
                       offlinecarrier,
                       offlinesegmentbits,
                       offlineviaairport,
                       offlinebookingclass,
                       fareinformation
               from
                       et_fares


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 31957)]
0x40402249 in chunk_free (ar_ptr=0x404b5b80, p=0x8279808) at malloc.c:3242
3242    malloc.c: No such file or directory.
       in malloc.c
(gdb) bt
#0  0x40402249 in chunk_free (ar_ptr=0x404b5b80, p=0x8279808) at malloc.c:3242
#1  0x40401ff4 in __libc_free (mem=0x8279868) at malloc.c:3154
#2  0x40500761 in free_bound_columns (cl_statement=0x826f2c0)
   at SQLBindCol.c:85
#3  0x40502477 in CLFreeHandle (handle_type=3, handle=0x826f2c0)
   at SQLFreeHandle.c:86
#4  0x400464d6 in __SQLFreeHandle (handle_type=3, handle=0x82716e8)
   at SQLFreeHandle.c:408
#5  0x400469ac in SQLFreeStmt (statement_handle=0x82716e8, option=1)
   at SQLFreeStmt.c:200
#6  0x0809cbb6 in _free_odbc_result (rsrc=0x8268e34) at php_odbc.c:182
#7  0x081231d1 in list_entry_destructor (ptr=0x8268e34) at zend_list.c:177
#8  0x08121dc6 in zend_hash_del_key_or_index (ht=0x821be7c, arKey=0x0,
   nKeyLength=0, h=2, flag=1) at zend_hash.c:512
#9  0x08122f5d in _zend_list_delete (id=2) at zend_list.c:56
#10 0x080a0575 in zif_odbc_close (ht=1, return_value=0x827bddc, this_ptr=0x0,
   return_value_used=0) at php_odbc.c:2237
#11 0x0813b5d9 in execute (op_array=0x826401c) at ./zend_execute.c:1598
#12 0x0811de60 in zend_execute_scripts (type=8, retval=0x0, file_count=3)
   at zend.c:810
#13 0x0806eec9 in php_execute_script (primary_file=0xbffff8a0) at main.c:1381
#14 0x0806c81c in main (argc=2, argv=0xbffff944) at cgi_main.c:785
#15 0x4039d627 in __libc_start_main (main=0x806c014 <main>, argc=2,
   ubp_av=0xbffff944, init=0x806a3c0 <_init>, fini=0x81892b0 <_fini>,
   rtld_fini=0x4000dcc4 <_dl_fini>, stack_end=0xbffff93c)
   at ../sysdeps/generic/libc-start.c:129
(gdb)



THE PHP-SCRIPT:


<?php

$input = odbc_connect("skyways_test", "xx", "yy", SQL_CUR_USE_ODBC);

$icur = odbc_exec($input, "
                select
                        id,
                        validfrom,
                        validto,
                        carrier,
                        city1,
                        city2,
                        minmax,
                        bookingclass,
                        price,
                        ruleno,
                        minstay,
                        maxstay,
                        inmap,
                        outmap,
                        staymap,
                        maxchdage,
                        chdprice,
                        maxchdadult,
                        ticketlatest,
                        ticketwithin,
                        accomppercent,
                        booklatest,
                        bookwithin,
                        tripendlatest,
                        campaign,
                        adultonlinediscount,
                        accompmax,
                        offlinecarrier,
                        offlinesegmentbits,
                        offlineviaairport,
                        offlinebookingclass,
                        fareinformation
                from
                        et_fares
");

$n = 0;
while (odbc_fetch_row($icur)) {
	$n++;
	$fieldno = 1;
        $id				= odbc_result($icur, $fieldno++);
        $validfrom			= odbc_result($icur, $fieldno++);
        $validto			= odbc_result($icur, $fieldno++);
        $carrier			= odbc_result($icur, $fieldno++);
        $city1				= odbc_result($icur, $fieldno++);
        $city2				= odbc_result($icur, $fieldno++);
        $minmax				= odbc_result($icur, $fieldno++);
        $bookingclass			= odbc_result($icur, $fieldno++);
        $price				= odbc_result($icur, $fieldno++);
        $ruleno				= odbc_result($icur, $fieldno++);
        $minstay			= odbc_result($icur, $fieldno++);
        $maxstay			= odbc_result($icur, $fieldno++);
        $inmap				= odbc_result($icur, $fieldno++);
        $outmap				= odbc_result($icur, $fieldno++);
        $staymap			= odbc_result($icur, $fieldno++);
        $maxchdage			= odbc_result($icur, $fieldno++);
        $chdprice			= odbc_result($icur, $fieldno++);
        $maxchdadult			= odbc_result($icur, $fieldno++);
        $ticketlatest			= odbc_result($icur, $fieldno++);
        $ticketwithin			= odbc_result($icur, $fieldno++);
        $accomppercent			= odbc_result($icur, $fieldno++);
        $booklatest			= odbc_result($icur, $fieldno++);
        $bookwithin			= odbc_result($icur, $fieldno++);
        $tripendlatest			= odbc_result($icur, $fieldno++);
        $campaign			= odbc_result($icur, $fieldno++);
        $adultonlinediscount		= odbc_result($icur, $fieldno++);
        $accompmax			= odbc_result($icur, $fieldno++);
        $offlinecarrier			= odbc_result($icur, $fieldno++);
        $offlinesegmentbits		= odbc_result($icur, $fieldno++);
        $offlineviaairport		= odbc_result($icur, $fieldno++);
        $offlinebookingclass		= odbc_result($icur, $fieldno++);
        $fareinformation		= odbc_result($icur, $fieldno++);
}

odbc_close($input);

printf("n = %d\n", $n);
?>


THE PHP CONFIGURATION:

php4.spec:

%define version 4.2.0
%define so_version 4
%define release 1

Name: php
Summary: PHP: Hypertext Preprocessor
Group: Development/Languages
Version: %{version}
Release: %{release}
Copyright: The PHP license (see "LICENSE" file included in distribution)
Source: http://www.php.net/version4/downloads/php-%{version}.tar.gz
Icon: php.gif
URL: http://www.php.net/
Packager: PHP Group <group@php.net>

BuildRoot: /var/tmp/php-%{version}

%description
PHP is an HTML-embedded scripting language. Much of its syntax is
borrowed from C, Java and Perl with a couple of unique PHP-specific
features thrown in. The goal of the language is to allow web
developers to write dynamically generated pages quickly.

%prep

%setup

%build
set -x
./buildconf
./configure --prefix=/usr --with-apxs \
	--enable-track-vars --disable-debug \
	--with-xml=shared \

# figure out configure options options based on what packages are installed
# to override, use the OVERRIDE_OPTIONS environment variable.  To add
# extra options, use the OPTIONS environment variable.

#test rpm -q MySQL-devel >&/dev/null && OPTIONS="$OPTIONS --with-mysql=shared"
#test rpm -q solid-devel >&/dev/null && OPTIONS="$OPTIONS --with-solid=shared,/home/solid"
#test rpm -q postgresql-devel >&/dev/null && OPTIONS="$OPTIONS --with-pgsql=shared"
test rpm -q expat >&/dev/null && OPTIONS="$OPTIONS --with-xml=shared"

if test "x$OVERRIDE_OPTIONS" = "x"; then
    ./configure --prefix=/usr --with-apxs=$APXS $OPTIONS
else
    ./configure $OVERRIDE_OPTIONS
fi


config.status:

#! /bin/sh
# Generated automatically by configure.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
# configure, is in config.log if it exists.

debug=false
SHELL=${CONFIG_SHELL-/bin/sh}
ac_cs_invocation="$0 $@"

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
  set -o posix
fi

# Name of the executable.
as_me=`echo "$0" |sed 's,.*[\\/],,'`

if expr a : '\(a\)' >/dev/null 2>&1; then
  as_expr=expr
else
  as_expr=false
fi

rm -f conf$$ conf$$.exe conf$$.file
echo >conf$$.file
if ln -s conf$$.file conf$$ 2>/dev/null; then
  # We could just check for DJGPP; but this test a) works b) is more generic
  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
  if test -f conf$$.exe; then
    # Don't use ln at all; we don't have any links
    as_ln_s='cp -p'
  else
    as_ln_s='ln -s'
  fi
elif ln conf$$.file conf$$ 2>/dev/null; then
  as_ln_s=ln
else
  as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.file

as_executable_p="test -f"

# Support unset when possible.
if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
  as_unset=unset
else
  as_unset=false
fi

# NLS nuisances.
$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }

# IFS
# We need space, tab and new line, in precisely that order.
as_nl='
'
IFS=" 	$as_nl"

# CDPATH.
$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }

exec 6>&1

config_files=" php4.spec Zend/Makefile main/build-defs.h pear/scripts/pear pear/scripts/phpize pear/scripts/php-config pear/scripts/pearize pear/scripts/phptar TSRM/Makefile "
config_headers=" main/php_config.h"
config_commands=" default-1 default"

ac_cs_usage="\
\`$as_me' instantiates files from templates according to the
current configuration.

Usage: $0 [OPTIONS] [FILE]...

  -h, --help       print this help, then exit
  -V, --version    print version number, then exit
  -d, --debug      don't remove temporary files
      --recheck    update $as_me by reconfiguring in the same conditions
  --file=FILE[:TEMPLATE]
                   instantiate the configuration file FILE
  --header=FILE[:TEMPLATE]
                   instantiate the configuration header FILE

Configuration files:
$config_files

Configuration headers:
$config_headers

Configuration commands:
$config_commands

Report bugs to <bug-autoconf@gnu.org>."
ac_cs_version="\
config.status
configured by ./configure, generated by GNU Autoconf 2.52,
  with options \"--enable-shared --with-apxs --with-unixODBC --with-xml --enable-xslt --with-xslt-sablot=/usr/local --enable-sablot-errors-descriptive --with-dom=/usr/local --with-zlib --enable-trans-sid --with-iconv=/usr/local --with-imap --with-gettext\"

Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
srcdir=.
INSTALL="/usr/bin/install -c"
# If no file are specified by the user, then we need to provide default
# value.  By we need to know if files were specified by the user.
ac_need_defaults=:
while test $# != 0
do
  case $1 in
  --*=*)
    ac_option=`expr "x$1" : 'x\([^=]*\)='`
    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
    shift
    set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
    shift
    ;;
  -*);;
  *) # This is not an option, so the user has probably given explicit
     # arguments.
     ac_need_defaults=false;;
  esac

  case $1 in
  # Handling of the options.
  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
    echo "running /bin/sh ./configure " --enable-shared --with-apxs --with-unixODBC --with-xml --enable-xslt --with-xslt-sablot=/usr/local --enable-sablot-errors-descriptive --with-dom=/usr/local --with-zlib --enable-trans-sid --with-iconv=/usr/local --with-imap --with-gettext " --no-create --no-recursion"
    exec /bin/sh ./configure --enable-shared --with-apxs --with-unixODBC --with-xml --enable-xslt --with-xslt-sablot=/usr/local --enable-sablot-errors-descriptive --with-dom=/usr/local --with-zlib --enable-trans-sid --with-iconv=/usr/local --with-imap --with-gettext --no-create --no-recursion ;;
  --version | --vers* | -V )
    echo "$ac_cs_version"; exit 0 ;;
  --he | --h)
    # Conflict between --help and --header
    { { echo "$as_me:78507: error: ambiguous option: $1
Try \`$0 --help' for more information." >&5
echo "$as_me: error: ambiguous option: $1
Try \`$0 --help' for more information." >&2;}
   { (exit 1); exit 1; }; };;
  --help | --hel | -h )
    echo "$ac_cs_usage"; exit 0 ;;
  --debug | --d* | -d )
    debug=: ;;
  --file | --fil | --fi | --f )
    shift
    CONFIG_FILES="$CONFIG_FILES $1"
    ac_need_defaults=false;;
  --header | --heade | --head | --hea )
    shift
    CONFIG_HEADERS="$CONFIG_HEADERS $1"
    ac_need_defaults=false;;

  # This is an error.
  -*) { { echo "$as_me:78526: error: unrecognized option: $1
Try \`$0 --help' for more information." >&5
echo "$as_me: error: unrecognized option: $1
Try \`$0 --help' for more information." >&2;}
   { (exit 1); exit 1; }; } ;;

  *) ac_config_targets="$ac_config_targets $1" ;;

  esac
  shift
done

exec 5>>config.log
cat >&5 << _ACEOF

## ----------------------- ##
## Running config.status.  ##
## ----------------------- ##

This file was extended by $as_me 2.52, executed with
  CONFIG_FILES    = $CONFIG_FILES
  CONFIG_HEADERS  = $CONFIG_HEADERS
  CONFIG_LINKS    = $CONFIG_LINKS
  CONFIG_COMMANDS = $CONFIG_COMMANDS
  > $ac_cs_invocation
on `(hostname || uname -n) 2>/dev/null | sed 1q`

_ACEOF
#
# INIT-COMMANDS section.
#

AMDEP_TRUE=""
ac_aux_dir="."

if test "$CONFIG_FILES" = "php4.spec Zend/Makefile main/build-defs.h pear/scripts/pear pear/scripts/phpize pear/scripts/php-config pear/scripts/pearize pear/scripts/phptar TSRM/Makefile " || test -z "$CONFIG_FILES"; then
  REDO_ALL=yes
fi

if test -n "$REDO_ALL"; then

  /bin/sh ./build/fastgen.sh . yes no  sapi/Makefile ext/Makefile Makefile pear/Makefile main/Makefile sapi/cli/Makefile ext/zlib/Makefile ext/ctype/Makefile ext/domxml/Makefile ext/gettext/Makefile ext/iconv/Makefile ext/imap/Makefile ext/mysql/Makefile ext/mysql/libmysql/Makefile ext/odbc/Makefile ext/pcre/Makefile ext/pcre/pcrelib/Makefile ext/posix/Makefile ext/session/Makefile ext/standard/Makefile ext/xml/Makefile ext/xml/expat/Makefile ext/xslt/Makefile sapi/apache/Makefile regex/Makefile

fi

if test ! -f ./ext/bcmath/number.c; then
	echo "creating number.c"
	echo "/* Dummy File */" > ./ext/bcmath/number.c
	echo "creating number.h"
	echo "/* Dummy File */" > ./ext/bcmath/number.h
fi

################################################################
# Create configuration headers
#

test -d TSRM || mkdir TSRM
echo '#include "../main/php_config.h"' > TSRM/tsrm_config.h

test -d Zend || mkdir Zend

cat >Zend/zend_config.h <<FEO
#include "../main/php_config.h"
#if defined(APACHE) && defined(PHP_API_VERSION)
#undef HAVE_DLFCN_H
#endif
FEO

# run this only when generating all the files?
if test -n "$REDO_ALL"; then
  # Hacking while airborne considered harmful.
  #
  echo "creating main/internal_functions.c"
  extensions=" zlib ctype domxml gettext iconv imap mysql odbc pcre posix session standard xml xslt"
  sh ./build/genif.sh ./main/internal_functions.c.in . "" gawk $extensions > main/internal_functions.c

  echo "creating main/internal_functions_cli.c"
  cli_extensions=" zlib ctype domxml gettext iconv imap mysql odbc pcre posix session standard xml xslt"
  sh ./build/genif.sh ./main/internal_functions.c.in . "" gawk $cli_extensions > main/internal_functions_cli.c

  # experimental things
  if test apache = "apache2filter" ; then
    echo "+--------------------------------------------------------------------+"
    echo "|                        *** WARNING ***                             |"
    echo "|                                                                    |"
    echo "| Apache 2 Support is EXPERIMENTAL and should NOT be used in         |"
    echo "| production environment. Before submitting bug reports, try the     |"
    echo "| latest CVS snapshot from http://snaps.php.net                      |"
  fi

  if test "no" != "no"; then
    echo "+--------------------------------------------------------------------+"
    echo "|                        *** WARNING ***                             |"
    echo "|                                                                    |"
    echo "| The overload extension is highly EXPERIMENTAL and will most        |"
    echo "| certainly change in newer versions. You have been warned!          |"
  fi

  if test "no" != "no"; then
    echo "+--------------------------------------------------------------------+"
    echo "|                        *** WARNING ***                             |"
    echo "|                                                                    |"
    echo "| The aggregate functions are highly EXPERIMENTAL and will most      |"
    echo "| certainly change in newer versions. You have been warned!          |"
  fi

  if test Linux = "FreeBSD" && test apache = "apache2filter" && test  != "pth-config" ; then
    echo "+--------------------------------------------------------------------+"
    echo "|                        *** WARNING ***                             |"
    echo "|                                                                    |"
    echo "| In order to build PHP as a Apache2 module on FreeBSD, you have to  |"
    echo "| add  --with-tsrm-pth to your ./configure line. Therefore you need  |"
    echo "| to install gnu-pth from /usr/ports/devel/pth.                      |"
  fi

  if test -n ""; then
    echo "+--------------------------------------------------------------------+"
    echo "| WARNING: Your /usr/sbin/apxs script is most likely broken."
    echo "|                                                                    |"
    echo "| Please go read http://www.php.net/faq.build#faq.build.apxs         |"
    echo "| and make the changes described there and try again.                |"
  fi

  # Warn about CGI version with no extra security options.
  if test "apache" = "cgi"; then
    if test "" = "0"; then
      if test "" = "0"; then
        echo "+--------------------------------------------------------------------+"
        echo "|                        *** WARNING ***                             |"
        echo "|                                                                    |"
        echo "| You will be compiling the CGI version of PHP without any           |"
        echo "| redirection checking.  By putting this cgi binary somewhere in     |"
        echo "| your web space, users may be able to circumvent existing .htaccess |"
        echo "| security by loading files directly through the parser.  See        |"
        echo "| http://www.php.net/manual/security.php for more details.           |"
      fi
    fi
  fi

  if test -n ""; then
    rm -f config.cache
cat <<X
+--------------------------------------------------------------------+
|                       *** ATTENTION ***                            |
|                                                                    |
| Something is likely to be messed up here, because the configure    |
| script was not able to detect a simple feature on your platform.   |
| This is often caused by incorrect configuration parameters. Please |
| see the file debug.log for error messages.                         |
|                                                                    |
| If you are unable to fix this, send the file debug.log to the      |
| php-install@lists.php.net mailing list and include appropiate      |
| information about your setup.                                      |
X
  fi

  if test "builtin" = "builtin" ; then
cat <<X
+--------------------------------------------------------------------+
|                        *** WARNING ***                             |
|                                                                    |
| You chose to compile PHP with the built-in MySQL support.  If you  |
| are compiling a server module, and intend to use other server      |
| modules that also use MySQL (e.g, mod_auth_mysql, PHP 3.0,         |
| mod_perl) you must NOT rely on PHP's built-in MySQL support, and   |
| instead build it with your local MySQL support files, by adding    |
| --with-mysql=/path/to/mysql to your configure line.                |
X
  fi

  # Warn about linking Apache with libpthread if oci8 extension is enabled on linux.
  if test "no" != "no" -o "no" != "no"; then
    if test "apache" = "apache"; then
      if test Linux = "Linux"; then
cat <<X
+--------------------------------------------------------------------+
|                        *** WARNING ***                             |
|                                                                    |
| Please check that your Apache (httpd) is linked with libpthread.   |
| If not, you have to recompile Apache with pthread. For more        |
| details, see this page: http://www.php.net/manual/ref.oci8.php     |
X
      fi
    fi

    if test "no" != "yes"; then
cat <<X
+--------------------------------------------------------------------+
| Notice:                                                            |
| If you encounter <defunc> processes when using a local Oracle-DB   |
| please recompile PHP and specify --enable-sigchild when configuring|
| (This problem has been reported under Linux using Oracle >= 8.1.5) |
X
    fi
  fi

cat<<X
+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+

Thank you for using PHP.

X

fi

for ac_config_target in $ac_config_targets
do
  case "$ac_config_target" in
  # Handling of arguments.
  "$ALL_OUTPUT_FILES" ) CONFIG_FILES="$CONFIG_FILES $ALL_OUTPUT_FILES" ;;
  "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
  "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
  "main/php_config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS main/php_config.h" ;;
  *) { { echo "$as_me:78752: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
   { (exit 1); exit 1; }; };;
  esac
done

# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used.  Set only those that are not.
# We use the long form for the default assignment because of an extremely
# bizarre bug on SunOS 4.1.3.
if $ac_need_defaults; then
  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
fi

# Create a temporary directory, and hook for its removal unless debugging.
$debug ||
{
  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
  trap '{ (exit 1); exit 1; }' 1 2 13 15
}

# Create a (secure) tmp directory for tmp files.
: ${TMPDIR=/tmp}
{
  tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
test -n "$tmp" && test -d "$tmp"
}  ||
{
  tmp=$TMPDIR/cs$$-$RANDOM
  (umask 077 && mkdir $tmp)
} ||
{
   echo "$me: cannot create a temporary directory in $TMPDIR" >&2
   { (exit 1); exit 1; }
}


#
# CONFIG_FILES section.
#

# No need to generate the scripts if there are no CONFIG_FILES.
# This happens for instance when ./config.status config.h
if test -n "$CONFIG_FILES"; then
  # Protect against being on the right side of a sed subst in config.status.
  sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g;
   s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF
s,@SHELL@,/bin/sh,;t t
s,@exec_prefix@,${prefix},;t t
s,@prefix@,/usr/local,;t t
s,@program_transform_name@,s,x,x,,;t t
s,@bindir@,${exec_prefix}/bin,;t t
s,@sbindir@,${exec_prefix}/sbin,;t t
s,@libexecdir@,${exec_prefix}/libexec,;t t
s,@datadir@,${prefix}/share/php,;t t
s,@sysconfdir@,${prefix}/etc,;t t
s,@sharedstatedir@,${prefix}/com,;t t
s,@localstatedir@,${prefix}/var,;t t
s,@libdir@,${exec_prefix}/lib/php,;t t
s,@includedir@,${prefix}/include,;t t
s,@oldincludedir@,/usr/include,;t t
s,@infodir@,${prefix}/info,;t t
s,@mandir@,${prefix}/man,;t t
s,@PACKAGE_NAME@,,;t t
s,@PACKAGE_TARNAME@,,;t t
s,@PACKAGE_VERSION@,,;t t
s,@PACKAGE_STRING@,,;t t
s,@PACKAGE_BUGREPORT@,,;t t
s,@build_alias@,,;t t
s,@host_alias@,i686-pc-linux-gnu,;t t
s,@target_alias@,,;t t
s,@ECHO_C@,,;t t
s,@ECHO_N@,-n,;t t
s,@ECHO_T@,,;t t
s,@PATH_SEPARATOR@,:,;t t
s,@DEFS@,-DHAVE_CONFIG_H,;t t
s,@LIBS@,,;t t
s,@build@,i686-pc-linux-gnu,;t t
s,@build_cpu@,i686,;t t
s,@build_vendor@,pc,;t t
s,@build_os@,linux-gnu,;t t
s,@host@,i686-pc-linux-gnu,;t t
s,@host_cpu@,i686,;t t
s,@host_vendor@,pc,;t t
s,@host_os@,linux-gnu,;t t
s,@INSTALL_PROGRAM@,${INSTALL},;t t
s,@INSTALL_SCRIPT@,${INSTALL},;t t
s,@INSTALL_DATA@,${INSTALL} -m 644,;t t
s,@PACKAGE@,php,;t t
s,@VERSION@,4.2.0,;t t
s,@EXEEXT@,,;t t
s,@OBJEXT@,o,;t t
s,@ACLOCAL@,${SHELL} /opt/tools/php/php-4.2.0/missing --run aclocal,;t t
s,@AUTOCONF@,${SHELL} /opt/tools/php/php-4.2.0/missing --run autoconf,;t t
s,@AUTOMAKE@,${SHELL} /opt/tools/php/php-4.2.0/missing --run automake,;t t
s,@AUTOHEADER@,${SHELL} /opt/tools/php/php-4.2.0/missing --run autoheader,;t t
s,@MAKEINFO@,${SHELL} /opt/tools/php/php-4.2.0/missing --run makeinfo,;t t
s,@AMTAR@,${SHELL} /opt/tools/php/php-4.2.0/missing --run tar,;t t
s,@install_sh@,/opt/tools/php/php-4.2.0/install-sh,;t t
s,@INSTALL_STRIP_PROGRAM@,${SHELL} $(install_sh) -c -s,;t t
s,@AWK@,gawk,;t t
s,@SET_MAKE@,,;t t
s,@AMDEP_TRUE@,,;t t
s,@AMDEP_FALSE@,#,;t t
s,@AMDEPBACKSLASH@,\,;t t
s,@DEPDIR@,.deps,;t t
s,@MAINTAINER_MODE_TRUE@,#,;t t
s,@MAINTAINER_MODE_FALSE@,,;t t
s,@MAINT@,#,;t t
s,@CC@,gcc,;t t
s,@CFLAGS@,-g -O2 -prefer-pic,;t t
s,@LDFLAGS@,,;t t
s,@CPPFLAGS@, -DLINUX=22 -DEAPI -DEAPI_MM -DEAPI_MM_CORE_PATH=/var/run/httpd.mm -I$(top_builddir)/TSRM,;t t
s,@ac_ct_CC@,gcc,;t t
s,@am__include@,include,;t t
s,@am__quote@,,;t t
s,@CCDEPMODE@,depmode=none,;t t
s,@CPP@,gcc -E,;t t
s,@RANLIB@,ranlib,;t t
s,@ac_ct_RANLIB@,ranlib,;t t
s,@LN_S@,ln -s,;t t
s,@YACC@,bison -y,;t t
s,@LEX@,flex,;t t
s,@LEXLIB@,-lfl,;t t
s,@LEX_OUTPUT_ROOT@,lex.yy,;t t
s,@PROG_SENDMAIL@,/usr/sbin/sendmail,;t t
s,@LIBOBJS@, strlcat.o strlcpy.o,;t t
s,@ALLOCA@,,;t t
s,@CXX@,g++,;t t
s,@CXXFLAGS@,-g -O2 -prefer-pic,;t t
s,@ac_ct_CXX@,g++,;t t
s,@CXXDEPMODE@,depmode=none,;t t
s,@MYSQL_MODULE_TYPE@,builtin,;t t
s,@MYSQL_LIBS@,,;t t
s,@MYSQL_INCLUDE@,,;t t
s,@OCI8_SHARED_LIBADD@,,;t t
s,@OCI8_DIR@,,;t t
s,@OCI8_VERSION@,,;t t
s,@ODBC_INCLUDE@,-I/usr/local/include,;t t
s,@ODBC_LIBS@,-lodbc,;t t
s,@ODBC_LFLAGS@,-L/usr/local/lib,;t t
s,@ODBC_TYPE@,unixODBC,;t t
s,@ORACLE_SHARED_LIBADD@,,;t t
s,@ORACLE_DIR@,,;t t
s,@ORACLE_VERSION@,,;t t
s,@CXXCPP@,,;t t
s,@yazconfig@,,;t t
s,@ECHO@,echo,;t t
s,@STRIP@,strip,;t t
s,@ac_ct_STRIP@,strip,;t t
s,@LIBTOOL@,$(SHELL) $(top_builddir)/libtool --silent,;t t
s,@INLINE_CFLAGS@,-g   -prefer-pic,;t t
s,@INCLUDE_PATH@,.:/usr/local/lib/php,;t t
s,@EXPANDED_PEAR_INSTALLDIR@,/usr/local/lib/php,;t t
s,@EXPANDED_EXTENSION_DIR@,/usr/local/lib/php/extensions/no-debug-non-zts-20010901,;t t
s,@EXPANDED_BINDIR@,/usr/local/bin,;t t
s,@EXPANDED_LIBDIR@,/usr/local/lib/php,;t t
s,@EXPANDED_DATADIR@,/usr/local/share/php,;t t
s,@EXPANDED_SYSCONFDIR@,/usr/local/etc,;t t
s,@EXPANDED_LOCALSTATEDIR@,/usr/local/var,;t t
s,@EXPANDED_PHP_CONFIG_FILE_PATH@,/usr/local/lib,;t t
s,@abs_builddir@,/opt/tools/php/php-4.2.0,;t t
s,@abs_srcdir@,/opt/tools/php/php-4.2.0,;t t
s,@CONFIGURE_COMMAND@, './configure' '--enable-shared' '--with-apxs' '--with-unixODBC' '--with-xml' '--enable-xslt' '--with-xslt-sablot=/usr/local' '--enable-sablot-errors-descriptive' '--with-dom=/usr/local' '--with-zlib' '--enable-trans-sid' '--with-iconv=/usr/local' '--with-imap' '--with-gettext',;t t
s,@DEBUG_CFLAGS@,,;t t
s,@EXTENSION_DIR@,/usr/local/lib/php/extensions/no-debug-non-zts-20010901,;t t
s,@EXTRA_LIBS@, -L/usr/local/lib -lodbc -lpam -lc-client  -lsablot -liconv -lexpat -lcrypt -lpam -liconv -lz -lm -liconv -lz -lxml2 -lz -lcrypt -lresolv -lm -ldl -lnsl  -lresolv -lcrypt ,;t t
s,@ZEND_EXTRA_LIBS@,-ldl ,;t t
s,@INSTALL_IT@,$(mkinstalldirs) "$(INSTALL_ROOT)/usr/lib/apache" && /usr/sbin/apxs -S LIBEXECDIR="$(INSTALL_ROOT)/usr/lib/apache" -i -a -n php4 libs/libphp4.so,;t t
s,@NATIVE_RPATHS@, -Wl,-rpath,/usr/local/lib,;t t
s,@PEAR_INSTALLDIR@,${exec_prefix}/lib/php,;t t
s,@PHP_LDFLAGS@, -L/usr/local/lib,;t t
s,@PHP_LIBS@,,;t t
CEOF

  # Split the substitutions into bite-sized pieces for seds with
  # small command number limits, like on Digital OSF/1 and HP-UX.
  ac_max_sed_lines=48
  ac_sed_frag=1 # Number of current file.
  ac_beg=1 # First line for current file.
  ac_end=$ac_max_sed_lines # Line after last line for current file.
  ac_more_lines=:
  ac_sed_cmds=
  while $ac_more_lines; do
    if test $ac_beg -gt 1; then
      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
    else
      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
    fi
    if test ! -s $tmp/subs.frag; then
      ac_more_lines=false
    else
      # The purpose of the label and of the branching condition is to
      # speed up the sed processing (if there are no `@' at all, there
      # is no need to browse any of the substitutions).
      # These are the two extra sed commands mentioned above.
      (echo ':t
  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
      if test -z "$ac_sed_cmds"; then
  	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
      else
  	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
      fi
      ac_sed_frag=`expr $ac_sed_frag + 1`
      ac_beg=$ac_end
      ac_end=`expr $ac_end + $ac_max_sed_lines`
    fi
  done
  if test -z "$ac_sed_cmds"; then
    ac_sed_cmds=cat
  fi
fi # test -n "$CONFIG_FILES"

for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
  case $ac_file in
  - | *:- | *:-:* ) # input from stdin
        cat >$tmp/stdin
        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
  * )   ac_file_in=$ac_file.in ;;
  esac

  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
  ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$ac_file" : 'X\(//\)[^/]' \| \
         X"$ac_file" : 'X\(//\)$' \| \
         X"$ac_file" : 'X\(/\)' \| \
         .     : '\(.\)' 2>/dev/null ||
echo X"$ac_file" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
  	  /^X\(\/\/\)$/{ s//\1/; q; }
  	  /^X\(\/\).*/{ s//\1/; q; }
  	  s/.*/./; q'`
  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
    { case "$ac_dir" in
  [\\/]* | ?:[\\/]* ) as_incr_dir=;;
  *)                      as_incr_dir=.;;
esac
as_dummy="$ac_dir"
for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
  case $as_mkdir_dir in
    # Skip DOS drivespec
    ?:) as_incr_dir=$as_mkdir_dir ;;
    *)
      as_incr_dir=$as_incr_dir/$as_mkdir_dir
      test -d "$as_incr_dir" || mkdir "$as_incr_dir"
    ;;
  esac
done; }

    ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`"
    # A "../" for each directory in $ac_dir_suffix.
    ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
  else
    ac_dir_suffix= ac_dots=
  fi

  case $srcdir in
  .)  ac_srcdir=.
      if test -z "$ac_dots"; then
         ac_top_srcdir=.
      else
         ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'`
      fi ;;
  [\\/]* | ?:[\\/]* )
      ac_srcdir=$srcdir$ac_dir_suffix;
      ac_top_srcdir=$srcdir ;;
  *) # Relative path.
    ac_srcdir=$ac_dots$srcdir$ac_dir_suffix
    ac_top_srcdir=$ac_dots$srcdir ;;
  esac

  case $INSTALL in
  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
  *) ac_INSTALL=$ac_dots$INSTALL ;;
  esac

  if test x"$ac_file" != x-; then
    { echo "$as_me:79044: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
    rm -f "$ac_file"
  fi
  # Let's still pretend it is `configure' which instantiates (i.e., don't
  # use $as_me), people would be surprised to read:
  #    /* config.h.  Generated automatically by config.status.  */
  configure_input="Generated automatically from `echo $ac_file_in |
                                                 sed 's,.*/,,'` by configure."

  # First look for the input files in the build tree, otherwise in the
  # src tree.
  ac_file_inputs=`IFS=:
    for f in $ac_file_in; do
      case $f in
      -) echo $tmp/stdin ;;
      [\\/$]*)
         # Absolute (can't be DOS-style, as IFS=:)
         test -f "$f" || { { echo "$as_me:79062: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
   { (exit 1); exit 1; }; }
         echo $f;;
      *) # Relative
         if test -f "$f"; then
           # Build tree
           echo $f
         elif test -f "$srcdir/$f"; then
           # Source tree
           echo $srcdir/$f
         else
           # /dev/null tree
           { { echo "$as_me:79075: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
   { (exit 1); exit 1; }; }
         fi;;
      esac
    done` || { (exit 1); exit 1; }
  sed "/^[ 	]*VPATH[ 	]*=/{
s/:*\$(srcdir):*/:/;
s/:*\${srcdir}:*/:/;
s/:*@srcdir@:*/:/;
s/^\([^=]*=[ 	]*\):*/\1/;
s/:*$//;
s/^[^=]*=[ 	]*$//;
}

:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
s,@configure_input@,$configure_input,;t t
s,@srcdir@,$ac_srcdir,;t t
s,@top_srcdir@,$ac_top_srcdir,;t t
s,@INSTALL@,$ac_INSTALL,;t t
" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
  rm -f $tmp/stdin
  if test x"$ac_file" != x-; then
    mv $tmp/out $ac_file
  else
    cat $tmp/out
    rm -f $tmp/out
  fi

done

#
# CONFIG_HEADER section.
#

# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
# NAME is the cpp macro being defined and VALUE is the value it is being given.
#
# ac_d sets the value in "#define NAME VALUE" lines.
ac_dA='s,^\([ 	]*\)#\([ 	]*define[ 	][ 	]*\)'
ac_dB='[ 	].*$,\1#\2'
ac_dC=' '
ac_dD=',;t'
# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
ac_uA='s,^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
ac_uB='$,\1#\2define\3'
ac_uC=' '
ac_uD=',;t'

for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
  case $ac_file in
  - | *:- | *:-:* ) # input from stdin
        cat >$tmp/stdin
        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
  * )   ac_file_in=$ac_file.in ;;
  esac

  test x"$ac_file" != x- && { echo "$as_me:79136: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}

  # First look for the input files in the build tree, otherwise in the
  # src tree.
  ac_file_inputs=`IFS=:
    for f in $ac_file_in; do
      case $f in
      -) echo $tmp/stdin ;;
      [\\/$]*)
         # Absolute (can't be DOS-style, as IFS=:)
         test -f "$f" || { { echo "$as_me:79147: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
   { (exit 1); exit 1; }; }
         echo $f;;
      *) # Relative
         if test -f "$f"; then
           # Build tree
           echo $f
         elif test -f "$srcdir/$f"; then
           # Source tree
           echo $srcdir/$f
         else
           # /dev/null tree
           { { echo "$as_me:79160: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
   { (exit 1); exit 1; }; }
         fi;;
      esac
    done` || { (exit 1); exit 1; }
  # Remove the trailing spaces.
  sed 's/[ 	]*$//' $ac_file_inputs >$tmp/in

  # Handle all the #define templates only if necessary.
  if egrep "^[ 	]*#[ 	]*define" $tmp/in >/dev/null; then
  # If there are no defines, we may have an empty if/fi
  :
  cat >$tmp/defines.sed <<CEOF
/^[ 	]*#[ 	]*define/!b
t clr
: clr
${ac_dA}YYTEXT_POINTER${ac_dB}YYTEXT_POINTER${ac_dC}1${ac_dD}
${ac_dA}HAVE_AP_CONFIG_H${ac_dB}HAVE_AP_CONFIG_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_AP_COMPAT_H${ac_dB}HAVE_AP_COMPAT_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SENDMAIL${ac_dB}HAVE_SENDMAIL${ac_dC}1${ac_dD}
${ac_dA}HAVE_LIBNSL${ac_dB}HAVE_LIBNSL${ac_dC}1${ac_dD}
${ac_dA}HAVE_LIBM${ac_dB}HAVE_LIBM${ac_dC}1${ac_dD}
${ac_dA}HAVE_LIBRESOLV${ac_dB}HAVE_LIBRESOLV${ac_dC}1${ac_dD}
${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD}
${ac_dA}HAVE_DIRENT_H${ac_dB}HAVE_DIRENT_H${ac_dC}1${ac_dD}
${ac_dA}MISSING_FCLOSE_DECL${ac_dB}MISSING_FCLOSE_DECL${ac_dC}0${ac_dD}
${ac_dA}HAVE_ALLOCA_H${ac_dB}HAVE_ALLOCA_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_ARPA_INET_H${ac_dB}HAVE_ARPA_INET_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_ARPA_NAMESER_H${ac_dB}HAVE_ARPA_NAMESER_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_CRYPT_H${ac_dB}HAVE_CRYPT_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_FCNTL_H${ac_dB}HAVE_FCNTL_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_GRP_H${ac_dB}HAVE_GRP_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_LANGINFO_H${ac_dB}HAVE_LANGINFO_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_LIMITS_H${ac_dB}HAVE_LIMITS_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_LOCALE_H${ac_dB}HAVE_LOCALE_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_NETINET_IN_H${ac_dB}HAVE_NETINET_IN_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_PWD_H${ac_dB}HAVE_PWD_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_RESOLV_H${ac_dB}HAVE_RESOLV_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SIGNAL_H${ac_dB}HAVE_SIGNAL_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_STDARG_H${ac_dB}HAVE_STDARG_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYSLOG_H${ac_dB}HAVE_SYSLOG_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYSEXITS_H${ac_dB}HAVE_SYSEXITS_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_FILE_H${ac_dB}HAVE_SYS_FILE_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_MMAN_H${ac_dB}HAVE_SYS_MMAN_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_MOUNT_H${ac_dB}HAVE_SYS_MOUNT_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_RESOURCE_H${ac_dB}HAVE_SYS_RESOURCE_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_SELECT_H${ac_dB}HAVE_SYS_SELECT_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_SOCKET_H${ac_dB}HAVE_SYS_SOCKET_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_STATFS_H${ac_dB}HAVE_SYS_STATFS_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_STATVFS_H${ac_dB}HAVE_SYS_STATVFS_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_VFS_H${ac_dB}HAVE_SYS_VFS_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_TIME_H${ac_dB}HAVE_SYS_TIME_H${ac_dC}1${ac_dD}
CEOF
  sed -f $tmp/defines.sed $tmp/in >$tmp/out
  rm -f $tmp/in
  mv $tmp/out $tmp/in

  cat >$tmp/defines.sed <<CEOF
/^[ 	]*#[ 	]*define/!b
t clr
: clr
${ac_dA}HAVE_SYS_TYPES_H${ac_dB}HAVE_SYS_TYPES_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_WAIT_H${ac_dB}HAVE_SYS_WAIT_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_UTIME_H${ac_dB}HAVE_UTIME_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRUCT_TM_TM_ZONE${ac_dB}HAVE_STRUCT_TM_TM_ZONE${ac_dC}1${ac_dD}
${ac_dA}HAVE_TM_ZONE${ac_dB}HAVE_TM_ZONE${ac_dC}1${ac_dD}
${ac_dA}HAVE_TM_GMTOFF${ac_dB}HAVE_TM_GMTOFF${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRUCT_FLOCK${ac_dB}HAVE_STRUCT_FLOCK${ac_dC}1${ac_dD}
${ac_dA}HAVE_SOCKLEN_T${ac_dB}HAVE_SOCKLEN_T${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_TYPES_H${ac_dB}HAVE_SYS_TYPES_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_STAT_H${ac_dB}HAVE_SYS_STAT_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_MEMORY_H${ac_dB}HAVE_MEMORY_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRINGS_H${ac_dB}HAVE_STRINGS_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_INTTYPES_H${ac_dB}HAVE_INTTYPES_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_STDINT_H${ac_dB}HAVE_STDINT_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD}
${ac_dA}SIZEOF_LONG${ac_dB}SIZEOF_LONG${ac_dC}4${ac_dD}
${ac_dA}SIZEOF_INT${ac_dB}SIZEOF_INT${ac_dC}4${ac_dD}
${ac_dA}HAVE_STRUCT_STAT_ST_BLKSIZE${ac_dB}HAVE_STRUCT_STAT_ST_BLKSIZE${ac_dC}1${ac_dD}
${ac_dA}HAVE_ST_BLKSIZE${ac_dB}HAVE_ST_BLKSIZE${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRUCT_STAT_ST_BLOCKS${ac_dB}HAVE_STRUCT_STAT_ST_BLOCKS${ac_dC}1${ac_dD}
${ac_dA}HAVE_ST_BLOCKS${ac_dB}HAVE_ST_BLOCKS${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRUCT_STAT_ST_RDEV${ac_dB}HAVE_STRUCT_STAT_ST_RDEV${ac_dC}1${ac_dD}
${ac_dA}HAVE_ST_RDEV${ac_dB}HAVE_ST_RDEV${ac_dC}1${ac_dD}
${ac_dA}HAVE_SOCKADDR_STORAGE${ac_dB}HAVE_SOCKADDR_STORAGE${ac_dC}1${ac_dD}
${ac_dA}HAVE_IPV6${ac_dB}HAVE_IPV6${ac_dC}1${ac_dD}
${ac_dA}HAVE_VPRINTF${ac_dB}HAVE_VPRINTF${ac_dC}1${ac_dD}
${ac_dA}HAVE_ASCTIME_R${ac_dB}HAVE_ASCTIME_R${ac_dC}1${ac_dD}
${ac_dA}HAVE_CHROOT${ac_dB}HAVE_CHROOT${ac_dC}1${ac_dD}
${ac_dA}HAVE_CTIME_R${ac_dB}HAVE_CTIME_R${ac_dC}1${ac_dD}
${ac_dA}HAVE_CUSERID${ac_dB}HAVE_CUSERID${ac_dC}1${ac_dD}
${ac_dA}HAVE_FLOCK${ac_dB}HAVE_FLOCK${ac_dC}1${ac_dD}
${ac_dA}HAVE_GAI_STRERROR${ac_dB}HAVE_GAI_STRERROR${ac_dC}1${ac_dD}
${ac_dA}HAVE_GCVT${ac_dB}HAVE_GCVT${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETLOGIN${ac_dB}HAVE_GETLOGIN${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETHOSTBYADDR${ac_dB}HAVE_GETHOSTBYADDR${ac_dC}1${ac_dD}
CEOF
  sed -f $tmp/defines.sed $tmp/in >$tmp/out
  rm -f $tmp/in
  mv $tmp/out $tmp/in

  cat >$tmp/defines.sed <<CEOF
/^[ 	]*#[ 	]*define/!b
t clr
: clr
${ac_dA}HAVE_GETPROTOBYNAME${ac_dB}HAVE_GETPROTOBYNAME${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETPROTOBYNUMBER${ac_dB}HAVE_GETPROTOBYNUMBER${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETSERVBYNAME${ac_dB}HAVE_GETSERVBYNAME${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETSERVBYPORT${ac_dB}HAVE_GETSERVBYPORT${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETRUSAGE${ac_dB}HAVE_GETRUSAGE${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETTIMEOFDAY${ac_dB}HAVE_GETTIMEOFDAY${ac_dC}1${ac_dD}
${ac_dA}HAVE_GMTIME_R${ac_dB}HAVE_GMTIME_R${ac_dC}1${ac_dD}
${ac_dA}HAVE_INET_ATON${ac_dB}HAVE_INET_ATON${ac_dC}1${ac_dD}
${ac_dA}HAVE_ISASCII${ac_dB}HAVE_ISASCII${ac_dC}1${ac_dD}
${ac_dA}HAVE_LINK${ac_dB}HAVE_LINK${ac_dC}1${ac_dD}
${ac_dA}HAVE_LOCALTIME_R${ac_dB}HAVE_LOCALTIME_R${ac_dC}1${ac_dD}
${ac_dA}HAVE_LOCKF${ac_dB}HAVE_LOCKF${ac_dC}1${ac_dD}
${ac_dA}HAVE_LRAND48${ac_dB}HAVE_LRAND48${ac_dC}1${ac_dD}
${ac_dA}HAVE_MEMCPY${ac_dB}HAVE_MEMCPY${ac_dC}1${ac_dD}
${ac_dA}HAVE_MEMMOVE${ac_dB}HAVE_MEMMOVE${ac_dC}1${ac_dD}
${ac_dA}HAVE_MKSTEMP${ac_dB}HAVE_MKSTEMP${ac_dC}1${ac_dD}
${ac_dA}HAVE_MMAP${ac_dB}HAVE_MMAP${ac_dC}1${ac_dD}
${ac_dA}HAVE_NL_LANGINFO${ac_dB}HAVE_NL_LANGINFO${ac_dC}1${ac_dD}
${ac_dA}HAVE_PUTENV${ac_dB}HAVE_PUTENV${ac_dC}1${ac_dD}
${ac_dA}HAVE_REALPATH${ac_dB}HAVE_REALPATH${ac_dC}1${ac_dD}
${ac_dA}HAVE_RANDOM${ac_dB}HAVE_RANDOM${ac_dC}1${ac_dD}
${ac_dA}HAVE_RAND_R${ac_dB}HAVE_RAND_R${ac_dC}1${ac_dD}
${ac_dA}HAVE_REGCOMP${ac_dB}HAVE_REGCOMP${ac_dC}1${ac_dD}
${ac_dA}HAVE_RES_SEARCH${ac_dB}HAVE_RES_SEARCH${ac_dC}1${ac_dD}
${ac_dA}HAVE_SETITIMER${ac_dB}HAVE_SETITIMER${ac_dC}1${ac_dD}
${ac_dA}HAVE_SETLOCALE${ac_dB}HAVE_SETLOCALE${ac_dC}1${ac_dD}
${ac_dA}HAVE_LOCALECONV${ac_dB}HAVE_LOCALECONV${ac_dC}1${ac_dD}
${ac_dA}HAVE_SETSOCKOPT${ac_dB}HAVE_SETSOCKOPT${ac_dC}1${ac_dD}
${ac_dA}HAVE_SETVBUF${ac_dB}HAVE_SETVBUF${ac_dC}1${ac_dD}
${ac_dA}HAVE_SHUTDOWN${ac_dB}HAVE_SHUTDOWN${ac_dC}1${ac_dD}
${ac_dA}HAVE_SIN${ac_dB}HAVE_SIN${ac_dC}1${ac_dD}
${ac_dA}HAVE_SNPRINTF${ac_dB}HAVE_SNPRINTF${ac_dC}1${ac_dD}
${ac_dA}HAVE_SRAND48${ac_dB}HAVE_SRAND48${ac_dC}1${ac_dD}
${ac_dA}HAVE_SRANDOM${ac_dB}HAVE_SRANDOM${ac_dC}1${ac_dD}
${ac_dA}HAVE_STATFS${ac_dB}HAVE_STATFS${ac_dC}1${ac_dD}
${ac_dA}HAVE_STATVFS${ac_dB}HAVE_STATVFS${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRCASECMP${ac_dB}HAVE_STRCASECMP${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRCOLL${ac_dB}HAVE_STRCOLL${ac_dC}1${ac_dD}
CEOF
  sed -f $tmp/defines.sed $tmp/in >$tmp/out
  rm -f $tmp/in
  mv $tmp/out $tmp/in

  cat >$tmp/defines.sed <<CEOF
/^[ 	]*#[ 	]*define/!b
t clr
: clr
${ac_dA}HAVE_STRDUP${ac_dB}HAVE_STRDUP${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRERROR${ac_dB}HAVE_STRERROR${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRFTIME${ac_dB}HAVE_STRFTIME${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRSTR${ac_dB}HAVE_STRSTR${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRTOK_R${ac_dB}HAVE_STRTOK_R${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYMLINK${ac_dB}HAVE_SYMLINK${ac_dC}1${ac_dD}
${ac_dA}HAVE_TEMPNAM${ac_dB}HAVE_TEMPNAM${ac_dC}1${ac_dD}
${ac_dA}HAVE_TZSET${ac_dB}HAVE_TZSET${ac_dC}1${ac_dD}
${ac_dA}HAVE_UNSETENV${ac_dB}HAVE_UNSETENV${ac_dC}1${ac_dD}
${ac_dA}HAVE_USLEEP${ac_dB}HAVE_USLEEP${ac_dC}1${ac_dD}
${ac_dA}HAVE_UTIME${ac_dB}HAVE_UTIME${ac_dC}1${ac_dD}
${ac_dA}HAVE_VSNPRINTF${ac_dB}HAVE_VSNPRINTF${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETADDRINFO${ac_dB}HAVE_GETADDRINFO${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETOPT${ac_dB}HAVE_GETOPT${ac_dC}1${ac_dD}
${ac_dA}HAVE_UTIME_NULL${ac_dB}HAVE_UTIME_NULL${ac_dC}1${ac_dD}
${ac_dA}HAVE_ALLOCA_H${ac_dB}HAVE_ALLOCA_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_ALLOCA${ac_dB}HAVE_ALLOCA${ac_dC}1${ac_dD}
${ac_dA}PHP_BROKEN_SPRINTF${ac_dB}PHP_BROKEN_SPRINTF${ac_dC}0${ac_dD}
${ac_dA}HAVE_DECLARED_TIMEZONE${ac_dB}HAVE_DECLARED_TIMEZONE${ac_dC}1${ac_dD}
${ac_dA}HAVE_POSIX_READDIR_R${ac_dB}HAVE_POSIX_READDIR_R${ac_dC}1${ac_dD}
${ac_dA}PHP_SAFE_MODE${ac_dB}PHP_SAFE_MODE${ac_dC}0${ac_dD}
${ac_dA}PHP_SAFE_MODE_EXEC_DIR${ac_dB}PHP_SAFE_MODE_EXEC_DIR${ac_dC}"/usr/local/php/bin"${ac_dD}
${ac_dA}PHP_SIGCHILD${ac_dB}PHP_SIGCHILD${ac_dC}0${ac_dD}
${ac_dA}MAGIC_QUOTES${ac_dB}MAGIC_QUOTES${ac_dC}0${ac_dD}
${ac_dA}DEFAULT_SHORT_OPEN_TAG${ac_dB}DEFAULT_SHORT_OPEN_TAG${ac_dC}"1"${ac_dD}
${ac_dA}HAVE_CRYPT${ac_dB}HAVE_CRYPT${ac_dC}1${ac_dD}
${ac_dA}HAVE_ZLIB${ac_dB}HAVE_ZLIB${ac_dC}1${ac_dD}
${ac_dA}HAVE_FOPENCOOKIE${ac_dB}HAVE_FOPENCOOKIE${ac_dC}1${ac_dD}
${ac_dA}COOKIE_IO_FUNCTIONS_T${ac_dB}COOKIE_IO_FUNCTIONS_T${ac_dC}cookie_io_functions_t${ac_dD}
${ac_dA}HAVE_CTYPE${ac_dB}HAVE_CTYPE${ac_dC}1${ac_dD}
${ac_dA}HAVE_DOMXML${ac_dB}HAVE_DOMXML${ac_dC}1${ac_dD}
${ac_dA}HAVE_LIBINTL${ac_dB}HAVE_LIBINTL${ac_dC}1${ac_dD}
${ac_dA}HAVE_NGETTEXT${ac_dB}HAVE_NGETTEXT${ac_dC}1${ac_dD}
${ac_dA}HAVE_DNGETTEXT${ac_dB}HAVE_DNGETTEXT${ac_dC}1${ac_dD}
${ac_dA}HAVE_DCNGETTEXT${ac_dB}HAVE_DCNGETTEXT${ac_dC}1${ac_dD}
${ac_dA}HAVE_BIND_TEXTDOMAIN_CODESET${ac_dB}HAVE_BIND_TEXTDOMAIN_CODESET${ac_dC}1${ac_dD}
${ac_dA}HYPERWAVE${ac_dB}HYPERWAVE${ac_dC}0${ac_dD}
${ac_dA}HAVE_LIBICONV${ac_dB}HAVE_LIBICONV${ac_dC}1${ac_dD}
CEOF
  sed -f $tmp/defines.sed $tmp/in >$tmp/out
  rm -f $tmp/in
  mv $tmp/out $tmp/in

  cat >$tmp/defines.sed <<CEOF
/^[ 	]*#[ 	]*define/!b
t clr
: clr
${ac_dA}HAVE_ICONV${ac_dB}HAVE_ICONV${ac_dC}1${ac_dD}
${ac_dA}HAVE_IMAP${ac_dB}HAVE_IMAP${ac_dC}1${ac_dD}
${ac_dA}HAVE_LIBPAM${ac_dB}HAVE_LIBPAM${ac_dC}1${ac_dD}
${ac_dA}HAVE_LIBCRYPT${ac_dB}HAVE_LIBCRYPT${ac_dC}1${ac_dD}
${ac_dA}HAVE_MYSQL${ac_dB}HAVE_MYSQL${ac_dC}1${ac_dD}
${ac_dA}MYSQL_UNIX_ADDR${ac_dB}MYSQL_UNIX_ADDR${ac_dC}"/tmp/mysql.sock"${ac_dD}
${ac_dA}RETSIGTYPE${ac_dB}RETSIGTYPE${ac_dC}void${ac_dD}
${ac_dA}UNDEF_THREADS_HACK${ac_dB}UNDEF_THREADS_HACK${ac_dC}${ac_dD}
${ac_dA}STDC_HEADERS${ac_dB}STDC_HEADERS${ac_dC}1${ac_dD}
${ac_dA}HAVE_FCNTL_H${ac_dB}HAVE_FCNTL_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_LIMITS_H${ac_dB}HAVE_LIMITS_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_MEMORY_H${ac_dB}HAVE_MEMORY_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_PWD_H${ac_dB}HAVE_PWD_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_STDLIB_H${ac_dB}HAVE_STDLIB_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRINGS_H${ac_dB}HAVE_STRINGS_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_MMAN_H${ac_dB}HAVE_SYS_MMAN_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_SOCKET_H${ac_dB}HAVE_SYS_SOCKET_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_TYPES_H${ac_dB}HAVE_SYS_TYPES_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_WAIT_H${ac_dB}HAVE_SYS_WAIT_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_UTIME_H${ac_dB}HAVE_UTIME_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_CRYPT_H${ac_dB}HAVE_CRYPT_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_ALLOCA_H${ac_dB}HAVE_ALLOCA_H${ac_dC}1${ac_dD}
${ac_dA}SIZEOF_CHAR${ac_dB}SIZEOF_CHAR${ac_dC}1${ac_dD}
${ac_dA}SIZEOF_INT${ac_dB}SIZEOF_INT${ac_dC}4${ac_dD}
${ac_dA}SIZEOF_LONG${ac_dB}SIZEOF_LONG${ac_dC}4${ac_dD}
${ac_dA}SIZEOF_LONG_LONG${ac_dB}SIZEOF_LONG_LONG${ac_dC}8${ac_dD}
${ac_dA}TIME_WITH_SYS_TIME${ac_dB}TIME_WITH_SYS_TIME${ac_dC}1${ac_dD}
${ac_dA}HAVE_ULONG${ac_dB}HAVE_ULONG${ac_dC}${ac_dD}
${ac_dA}HAVE_UINT${ac_dB}HAVE_UINT${ac_dC}${ac_dD}
${ac_dA}HAVE_USHORT${ac_dB}HAVE_USHORT${ac_dC}${ac_dD}
${ac_dA}SOCKET_SIZE_TYPE${ac_dB}SOCKET_SIZE_TYPE${ac_dC}socklen_t${ac_dD}
${ac_dA}RETQSORTTYPE${ac_dB}RETQSORTTYPE${ac_dC}void${ac_dD}
${ac_dA}QSORT_TYPE_IS_VOID${ac_dB}QSORT_TYPE_IS_VOID${ac_dC}1${ac_dD}
${ac_dA}HAVE_ALARM${ac_dB}HAVE_ALARM${ac_dC}1${ac_dD}
${ac_dA}HAVE_FTRUNCATE${ac_dB}HAVE_FTRUNCATE${ac_dC}1${ac_dD}
${ac_dA}HAVE_RINT${ac_dB}HAVE_RINT${ac_dC}1${ac_dD}
CEOF
  sed -f $tmp/defines.sed $tmp/in >$tmp/out
  rm -f $tmp/in
  mv $tmp/out $tmp/in

  cat >$tmp/defines.sed <<CEOF
/^[ 	]*#[ 	]*define/!b
t clr
: clr
${ac_dA}HAVE_FINITE${ac_dB}HAVE_FINITE${ac_dC}1${ac_dD}
${ac_dA}HAVE_CUSERID${ac_dB}HAVE_CUSERID${ac_dC}1${ac_dD}
${ac_dA}HAVE_FCNTL${ac_dB}HAVE_FCNTL${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETRUSAGE${ac_dB}HAVE_GETRUSAGE${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETPWUID${ac_dB}HAVE_GETPWUID${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETCWD${ac_dB}HAVE_GETCWD${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETRLIMIT${ac_dB}HAVE_GETRLIMIT${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETWD${ac_dB}HAVE_GETWD${ac_dC}1${ac_dD}
${ac_dA}HAVE_INDEX${ac_dB}HAVE_INDEX${ac_dC}1${ac_dD}
${ac_dA}HAVE_LONGJMP${ac_dB}HAVE_LONGJMP${ac_dC}1${ac_dD}
${ac_dA}HAVE_PERROR${ac_dB}HAVE_PERROR${ac_dC}1${ac_dD}
${ac_dA}HAVE_PREAD${ac_dB}HAVE_PREAD${ac_dC}1${ac_dD}
${ac_dA}HAVE_REALPATH${ac_dB}HAVE_REALPATH${ac_dC}1${ac_dD}
${ac_dA}HAVE_RENAME${ac_dB}HAVE_RENAME${ac_dC}1${ac_dD}
${ac_dA}HAVE_SOCKET${ac_dB}HAVE_SOCKET${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRNLEN${ac_dB}HAVE_STRNLEN${ac_dC}1${ac_dD}
${ac_dA}HAVE_MADVISE${ac_dB}HAVE_MADVISE${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRTOUL${ac_dB}HAVE_STRTOUL${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRTOULL${ac_dB}HAVE_STRTOULL${ac_dC}1${ac_dD}
${ac_dA}HAVE_SNPRINTF${ac_dB}HAVE_SNPRINTF${ac_dC}1${ac_dD}
${ac_dA}HAVE_TEMPNAM${ac_dB}HAVE_TEMPNAM${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETHOSTBYADDR_R${ac_dB}HAVE_GETHOSTBYADDR_R${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETHOSTBYNAME_R${ac_dB}HAVE_GETHOSTBYNAME_R${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETPWNAM${ac_dB}HAVE_GETPWNAM${ac_dC}1${ac_dD}
${ac_dA}HAVE_BZERO${ac_dB}HAVE_BZERO${ac_dC}1${ac_dD}
${ac_dA}HAVE_BCMP${ac_dB}HAVE_BCMP${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRSTR${ac_dB}HAVE_STRSTR${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRPBRK${ac_dB}HAVE_STRPBRK${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRERROR${ac_dB}HAVE_STRERROR${ac_dC}1${ac_dD}
${ac_dA}HAVE_MEMCPY${ac_dB}HAVE_MEMCPY${ac_dC}1${ac_dD}
${ac_dA}HAVE_MEMMOVE${ac_dB}HAVE_MEMMOVE${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRCASECMP${ac_dB}HAVE_STRCASECMP${ac_dC}1${ac_dD}
${ac_dA}HAVE_SIGHOLD${ac_dB}HAVE_SIGHOLD${ac_dC}1${ac_dD}
${ac_dA}HAVE_LRAND48${ac_dB}HAVE_LRAND48${ac_dC}1${ac_dD}
${ac_dA}HAVE_LOCALTIME_R${ac_dB}HAVE_LOCALTIME_R${ac_dC}1${ac_dD}
${ac_dA}HAVE_SIGSET${ac_dB}HAVE_SIGSET${ac_dC}1${ac_dD}
${ac_dA}HAVE_PTHREAD_SETSCHEDPARAM${ac_dB}HAVE_PTHREAD_SETSCHEDPARAM${ac_dC}1${ac_dD}
${ac_dA}HAVE_PTHREAD_ATTR_SETSCHEDPARAM${ac_dB}HAVE_PTHREAD_ATTR_SETSCHEDPARAM${ac_dC}1${ac_dD}
CEOF
  sed -f $tmp/defines.sed $tmp/in >$tmp/out
  rm -f $tmp/in
  mv $tmp/out $tmp/in

  cat >$tmp/defines.sed <<CEOF
/^[ 	]*#[ 	]*define/!b
t clr
: clr
${ac_dA}HAVE_DLOPEN${ac_dB}HAVE_DLOPEN${ac_dC}1${ac_dD}
${ac_dA}HAVE_DLERROR${ac_dB}HAVE_DLERROR${ac_dC}1${ac_dD}
${ac_dA}HAVE_FCHMOD${ac_dB}HAVE_FCHMOD${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETPASS${ac_dB}HAVE_GETPASS${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRTOK_R${ac_dB}HAVE_STRTOK_R${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE${ac_dB}HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE${ac_dC}${ac_dD}
${ac_dA}HAVE_READDIR_R${ac_dB}HAVE_READDIR_R${ac_dC}${ac_dD}
${ac_dA}HAVE_SIGWAIT${ac_dB}HAVE_SIGWAIT${ac_dC}${ac_dD}
${ac_dA}HAVE_UNIXODBC${ac_dB}HAVE_UNIXODBC${ac_dC}1${ac_dD}
${ac_dA}HAVE_UODBC${ac_dB}HAVE_UODBC${ac_dC}1${ac_dD}
${ac_dA}HAVE_BUNDLED_PCRE${ac_dB}HAVE_BUNDLED_PCRE${ac_dC}1${ac_dD}
${ac_dA}HAVE_POSIX${ac_dB}HAVE_POSIX${ac_dC}1${ac_dD}
${ac_dA}HAVE_SETEUID${ac_dB}HAVE_SETEUID${ac_dC}1${ac_dD}
${ac_dA}HAVE_SETEGID${ac_dB}HAVE_SETEGID${ac_dC}1${ac_dD}
${ac_dA}HAVE_SETSID${ac_dB}HAVE_SETSID${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETSID${ac_dB}HAVE_GETSID${ac_dC}1${ac_dD}
${ac_dA}HAVE_SETPGID${ac_dB}HAVE_SETPGID${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETPGID${ac_dB}HAVE_GETPGID${ac_dC}1${ac_dD}
${ac_dA}HAVE_CTERMID${ac_dB}HAVE_CTERMID${ac_dC}1${ac_dD}
${ac_dA}HAVE_MKFIFO${ac_dB}HAVE_MKFIFO${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETRLIMIT${ac_dB}HAVE_GETRLIMIT${ac_dC}1${ac_dD}
${ac_dA}HAVE_PREAD${ac_dB}HAVE_PREAD${ac_dC}1${ac_dD}
${ac_dA}HAVE_PWRITE${ac_dB}HAVE_PWRITE${ac_dC}1${ac_dD}
${ac_dA}HAVE_PHP_SESSION${ac_dB}HAVE_PHP_SESSION${ac_dC}1${ac_dD}
${ac_dA}HAVE_LIBDL${ac_dB}HAVE_LIBDL${ac_dC}1${ac_dD}
${ac_dA}HAVE_LIBPAM${ac_dB}HAVE_LIBPAM${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETCWD${ac_dB}HAVE_GETCWD${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETWD${ac_dB}HAVE_GETWD${ac_dC}1${ac_dD}
${ac_dA}PHP_STD_DES_CRYPT${ac_dB}PHP_STD_DES_CRYPT${ac_dC}1${ac_dD}
${ac_dA}PHP_EXT_DES_CRYPT${ac_dB}PHP_EXT_DES_CRYPT${ac_dC}0${ac_dD}
${ac_dA}PHP_MD5_CRYPT${ac_dB}PHP_MD5_CRYPT${ac_dC}1${ac_dD}
${ac_dA}PHP_BLOWFISH_CRYPT${ac_dB}PHP_BLOWFISH_CRYPT${ac_dC}0${ac_dD}
${ac_dA}HAVE_LIBEXPAT${ac_dB}HAVE_LIBEXPAT${ac_dC}1${ac_dD}
${ac_dA}HAVE_LIBEXPAT_BUNDLED${ac_dB}HAVE_LIBEXPAT_BUNDLED${ac_dC}1${ac_dD}
${ac_dA}HAVE_LIBEXPAT2${ac_dB}HAVE_LIBEXPAT2${ac_dC}1${ac_dD}
${ac_dA}HAVE_LIBICONV${ac_dB}HAVE_LIBICONV${ac_dC}1${ac_dD}
${ac_dA}HAVE_ICONV${ac_dB}HAVE_ICONV${ac_dC}1${ac_dD}
${ac_dA}HAVE_SABLOT_BACKEND${ac_dB}HAVE_SABLOT_BACKEND${ac_dC}1${ac_dD}
CEOF
  sed -f $tmp/defines.sed $tmp/in >$tmp/out
  rm -f $tmp/in
  mv $tmp/out $tmp/in

  cat >$tmp/defines.sed <<CEOF
/^[ 	]*#[ 	]*define/!b
t clr
: clr
${ac_dA}HAVE_SABLOT_SET_ENCODING${ac_dB}HAVE_SABLOT_SET_ENCODING${ac_dC}1${ac_dD}
${ac_dA}HAVE_XSLT${ac_dB}HAVE_XSLT${ac_dC}1${ac_dD}
${ac_dA}HSREGEX${ac_dB}HSREGEX${ac_dC}1${ac_dD}
${ac_dA}REGEX${ac_dB}REGEX${ac_dC}1${ac_dD}
${ac_dA}HAVE_DLFCN_H${ac_dB}HAVE_DLFCN_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_LIMITS_H${ac_dB}HAVE_LIMITS_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_MALLOC_H${ac_dB}HAVE_MALLOC_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRING_H${ac_dB}HAVE_STRING_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_UNISTD_H${ac_dB}HAVE_UNISTD_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_STDARG_H${ac_dB}HAVE_STDARG_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_TYPES_H${ac_dB}HAVE_SYS_TYPES_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SYS_TIME_H${ac_dB}HAVE_SYS_TIME_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_SIGNAL_H${ac_dB}HAVE_SIGNAL_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_DLFCN_H${ac_dB}HAVE_DLFCN_H${ac_dC}1${ac_dD}
${ac_dA}RETSIGTYPE${ac_dB}RETSIGTYPE${ac_dC}void${ac_dD}
${ac_dA}HAVE_LIBDL${ac_dB}HAVE_LIBDL${ac_dC}1${ac_dD}
${ac_dA}HAVE_VPRINTF${ac_dB}HAVE_VPRINTF${ac_dC}1${ac_dD}
${ac_dA}HAVE_ALLOCA_H${ac_dB}HAVE_ALLOCA_H${ac_dC}1${ac_dD}
${ac_dA}HAVE_ALLOCA${ac_dB}HAVE_ALLOCA${ac_dC}1${ac_dD}
${ac_dA}HAVE_MEMCPY${ac_dB}HAVE_MEMCPY${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRDUP${ac_dB}HAVE_STRDUP${ac_dC}1${ac_dD}
${ac_dA}HAVE_GETPID${ac_dB}HAVE_GETPID${ac_dC}1${ac_dD}
${ac_dA}HAVE_KILL${ac_dB}HAVE_KILL${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRTOD${ac_dB}HAVE_STRTOD${ac_dC}1${ac_dD}
${ac_dA}HAVE_STRTOL${ac_dB}HAVE_STRTOL${ac_dC}1${ac_dD}
${ac_dA}HAVE_FINITE${ac_dB}HAVE_FINITE${ac_dC}1${ac_dD}
${ac_dA}ZEND_BROKEN_SPRINTF${ac_dB}ZEND_BROKEN_SPRINTF${ac_dC}0${ac_dD}
${ac_dA}HAVE_FINITE${ac_dB}HAVE_FINITE${ac_dC}1${ac_dD}
${ac_dA}HAVE_ISINF${ac_dB}HAVE_ISINF${ac_dC}1${ac_dD}
${ac_dA}HAVE_ISNAN${ac_dB}HAVE_ISNAN${ac_dC}1${ac_dD}
${ac_dA}ZEND_DEBUG${ac_dB}ZEND_DEBUG${ac_dC}0${ac_dD}
${ac_dA}MEMORY_LIMIT${ac_dB}MEMORY_LIMIT${ac_dC}0${ac_dD}
${ac_dA}HAVE_STDARG_H${ac_dB}HAVE_STDARG_H${ac_dC}1${ac_dD}
${ac_dA}PHP_BUILD_DATE${ac_dB}PHP_BUILD_DATE${ac_dC}"2002-04-24"${ac_dD}
${ac_dA}PHP_UNAME${ac_dB}PHP_UNAME${ac_dC}"Linux emilia.tbook.se 2.4.9-13custom #1 Thu Jan 24 12:25:49 CET 2002 i686 unknown"${ac_dD}
${ac_dA}PHP_OS${ac_dB}PHP_OS${ac_dC}"Linux"${ac_dD}
CEOF
  sed -f $tmp/defines.sed $tmp/in >$tmp/out
  rm -f $tmp/in
  mv $tmp/out $tmp/in

  fi # egrep

  # Handle all the #undef templates
  cat >$tmp/undefs.sed <<CEOF
/^[ 	]*#[ 	]*undef/!b
t clr
: clr
${ac_uA}YYTEXT_POINTER${ac_uB}YYTEXT_POINTER${ac_uC}1${ac_uD}
${ac_uA}HAVE_AP_CONFIG_H${ac_uB}HAVE_AP_CONFIG_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_AP_COMPAT_H${ac_uB}HAVE_AP_COMPAT_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_SENDMAIL${ac_uB}HAVE_SENDMAIL${ac_uC}1${ac_uD}
${ac_uA}HAVE_LIBNSL${ac_uB}HAVE_LIBNSL${ac_uC}1${ac_uD}
${ac_uA}HAVE_LIBM${ac_uB}HAVE_LIBM${ac_uC}1${ac_uD}
${ac_uA}HAVE_LIBRESOLV${ac_uB}HAVE_LIBRESOLV${ac_uC}1${ac_uD}
${ac_uA}STDC_HEADERS${ac_uB}STDC_HEADERS${ac_uC}1${ac_uD}
${ac_uA}HAVE_DIRENT_H${ac_uB}HAVE_DIRENT_H${ac_uC}1${ac_uD}
${ac_uA}MISSING_FCLOSE_DECL${ac_uB}MISSING_FCLOSE_DECL${ac_uC}0${ac_uD}
${ac_uA}HAVE_ALLOCA_H${ac_uB}HAVE_ALLOCA_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_ARPA_INET_H${ac_uB}HAVE_ARPA_INET_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_ARPA_NAMESER_H${ac_uB}HAVE_ARPA_NAMESER_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_CRYPT_H${ac_uB}HAVE_CRYPT_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_FCNTL_H${ac_uB}HAVE_FCNTL_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_GRP_H${ac_uB}HAVE_GRP_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_LANGINFO_H${ac_uB}HAVE_LANGINFO_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_LIMITS_H${ac_uB}HAVE_LIMITS_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_LOCALE_H${ac_uB}HAVE_LOCALE_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_NETINET_IN_H${ac_uB}HAVE_NETINET_IN_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_PWD_H${ac_uB}HAVE_PWD_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_RESOLV_H${ac_uB}HAVE_RESOLV_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_SIGNAL_H${ac_uB}HAVE_SIGNAL_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_STDARG_H${ac_uB}HAVE_STDARG_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_STDLIB_H${ac_uB}HAVE_STDLIB_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_STRING_H${ac_uB}HAVE_STRING_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_SYSLOG_H${ac_uB}HAVE_SYSLOG_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_SYSEXITS_H${ac_uB}HAVE_SYSEXITS_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_SYS_FILE_H${ac_uB}HAVE_SYS_FILE_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_SYS_MMAN_H${ac_uB}HAVE_SYS_MMAN_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_SYS_MOUNT_H${ac_uB}HAVE_SYS_MOUNT_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_SYS_RESOURCE_H${ac_uB}HAVE_SYS_RESOURCE_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_SYS_SELECT_H${ac_uB}HAVE_SYS_SELECT_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_SYS_SOCKET_H${ac_uB}HAVE_SYS_SOCKET_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_SYS_STATFS_H${ac_uB}HAVE_SYS_STATFS_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_SYS_STATVFS_H${ac_uB}HAVE_SYS_STATVFS_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_SYS_VFS_H${ac_uB}HAVE_SYS_VFS_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_SYS_TIME_H${ac_uB}HAVE_SYS_TIME_H${ac_uC}1${ac_uD}
CEOF
  sed -f $tmp/undefs.sed $tmp/in >$tmp/out
  rm -f $tmp/in
  mv $tmp/out $tmp/in

  cat >$tmp/undefs.sed <<CEOF
/^[ 	]*#[ 	]*undef/!b
t clr
: clr
${ac_uA}HAVE_SYS_TYPES_H${ac_uB}HAVE_SYS_TYPES_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_SYS_WAIT_H${ac_uB}HAVE_SYS_WAIT_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_UTIME_H${ac_uB}HAVE_UTIME_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_STRUCT_TM_TM_ZONE${ac_uB}HAVE_STRUCT_TM_TM_ZONE${ac_uC}1${ac_uD}
${ac_uA}HAVE_TM_ZONE${ac_uB}HAVE_TM_ZONE${ac_uC}1${ac_uD}
${ac_uA}HAVE_TM_GMTOFF${ac_uB}HAVE_TM_GMTOFF${ac_uC}1${ac_uD}
${ac_uA}HAVE_STRUCT_FLOCK${ac_uB}HAVE_STRUCT_FLOCK${ac_uC}1${ac_uD}
${ac_uA}HAVE_SOCKLEN_T${ac_uB}HAVE_SOCKLEN_T${ac_uC}1${ac_uD}
${ac_uA}HAVE_SYS_TYPES_H${ac_uB}HAVE_SYS_TYPES_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_SYS_STAT_H${ac_uB}HAVE_SYS_STAT_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_STDLIB_H${ac_uB}HAVE_STDLIB_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_STRING_H${ac_uB}HAVE_STRING_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_MEMORY_H${ac_uB}HAVE_MEMORY_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_STRINGS_H${ac_uB}HAVE_STRINGS_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_INTTYPES_H${ac_uB}HAVE_INTTYPES_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_STDINT_H${ac_uB}HAVE_STDINT_H${ac_uC}1${ac_uD}
${ac_uA}HAVE_UNISTD_H${ac_uB}HAVE_UNISTD_H${ac_uC}1${ac_uD}
${ac_uA}SIZEOF_LONG${ac_uB}SIZEOF_LONG${ac_uC}4${ac_uD}
${ac_uA}SIZEOF_INT${ac_uB}SIZEOF_INT${ac_uC}4${ac_uD}
${ac_uA}HAVE_STRUCT_STAT_ST_BLKSIZE${ac_uB}HAVE_STRUCT_STAT_ST_BLKSIZE${ac_uC}1${ac_uD}
${ac_uA}HAVE_ST_BLKSIZE${ac_uB}HAVE_ST_BLKSIZE${ac_uC}1${ac_uD}
${ac_uA}HAVE_STRUCT_STAT_ST_BLOCKS${ac_uB}HAVE_STRUCT_STAT_ST_BLOCKS${ac_uC}1${ac_uD}
${ac_uA}HAVE_ST_BLOCKS${ac_uB}HAVE_ST_BLOCKS${ac_uC}1${ac_uD}
${ac_uA}HAVE_STRUCT_STAT_ST_RDEV${ac_uB}HAVE_STRUCT_STAT_ST_RDEV${ac_uC}1${ac_uD}
${ac_uA}HAVE_ST_RDEV${ac_uB}HAVE_ST_RDEV${ac_uC}1${ac_uD}
${ac_uA}HAVE_SOCKADDR_STORAGE${ac_uB}HAVE_SOCKADDR_STORAGE${ac_uC}1${ac_uD}
${ac_uA}HAVE_IPV6${ac_uB}HAVE_IPV6${ac_uC}1${ac_uD}
${ac_uA}HAVE_VPRINTF${ac_uB}HAVE_VPRINTF${ac_uC}1${ac_uD}
${ac_uA}HAVE_ASCTIME_R${ac_uB}HAVE_ASCTIME_R${ac_uC}1${ac_uD}
${ac_uA}HAVE_CHROOT${ac_uB}HAVE_CHROOT${ac_uC}1${ac_uD}
${ac_uA}HAVE_CTIME_R${ac_uB}HAVE_CTIME_R${ac_uC}1${ac_uD}
${ac_uA}HAVE_CUSERID${ac_uB}HAVE_CUSERID${ac_uC}1${ac_uD}
${ac_uA}HAVE_FLOCK${ac_uB}HAVE_FLOCK${ac_uC}1${ac_uD}
${ac_uA}HAVE_GAI_STRERROR${ac_uB}HAVE_GAI_STRERROR${ac_uC}1${ac_uD}
${ac_uA}HAVE_GCVT${ac_uB}HAVE_GCVT${ac_uC}1${ac_uD}
${ac_uA}HAVE_GETLOGIN${ac_uB}HAVE_GETLOGIN${ac_uC}1${ac_uD}
${ac_uA}HAVE_GETHOSTBYADDR${ac_uB}HAVE_GETHOSTBYADDR${ac_uC}1${ac_uD}
CEOF
  sed -f $tmp/undefs.sed $tmp/in >$tmp/out
  rm -f $tmp/in
  mv $tmp/out $tmp/in

  cat >$tmp/undefs.sed <<CEOF
/^[ 	]*#[ 	]*undef/!b
t clr
: clr
${ac_uA}HAVE_GETPROTOBYNAME${ac_uB}HAVE_GETPROTOBYNAME${ac_uC}1${ac_uD}
${ac_uA}HAVE_GETPROTOBYNUMBER${ac_uB}HAVE_GETPROTOBYNUMBER${ac_uC}1${ac_uD}
${ac_uA}HAVE_GETSERVBYNAME${ac_uB}HAVE_GETSERVBYNAME${ac_uC}1${ac_uD}
${ac_uA}HAVE_GETSERVBYPORT${ac_uB}HAVE_GETSERVBYPORT${ac_uC}1${ac_uD}
${ac_uA}HAVE_GETRUSAGE${ac_uB}HAVE_GETRUSAGE${ac_uC}1${ac_uD}
${ac_uA}HAVE_GETTIMEOFDAY${ac_uB}HAVE_GETTIMEOFDAY${ac_uC}1${ac_uD}
${ac_uA}HAVE_GMTIME_R${ac_uB

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-05-21 23:33 UTC] kalowsky@php.net
Thank you for taking the time to report a problem with PHP.
Unfortunately your version of PHP is too old -- the problem
might already be fixed. Please download a new PHP
version from http://www.php.net/downloads.php

If you are able to reproduce the bug with one of the latest
versions of PHP, please change the PHP version on this bug report
to the version you tested and change the status back to "Open".
Again, thank you for your continued support of PHP.

There was a bug in the 4.2.0 that was fixed in the 4.2.1 release.  Please give it a try and see if that fixes things.  
 [2002-05-28 03:28 UTC] olle at compound dot se
I have rerun the test using PHP 4.2.1 and it still causes a segmentation violation. Gdb session log below.

[olle@emilia olle]$ gdb /usr/local/bin/php
GNU gdb Red Hat Linux (5.1-1)
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...
(gdb) run ttt.php
Starting program: /usr/local/bin/php ttt.php
[New Thread 1024 (LWP 28894)]
query =
                select
                        id,
                        validfrom,
                        validto,
                        carrier,
                        city1,
                        city2,
                        minmax,
                        bookingclass,
                        price,
                        ruleno,
                        minstay,
                        maxstay,
                        inmap,
                        outmap,
                        staymap,
                        maxchdage,
                        chdprice,
                        maxchdadult,
                        ticketlatest,
                        ticketwithin,
                        accomppercent,
                        booklatest,
                        bookwithin,
                        tripendlatest,
                        campaign,
                        adultonlinediscount,
                        accompmax,
                        offlinecarrier,
                        offlinesegmentbits,
                        offlineviaairport,
                        offlinebookingclass,
                        fareinformation
                from
                        et_fares


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 28894)]
0x40402249 in chunk_free (ar_ptr=0x404b5b80, p=0x827d2e0) at malloc.c:3242
3242    malloc.c: No such file or directory.
        in malloc.c
(gdb) bt
#0  0x40402249 in chunk_free (ar_ptr=0x404b5b80, p=0x827d2e0) at malloc.c:3242
#1  0x40401ff4 in __libc_free (mem=0x827d340) at malloc.c:3154
#2  0x40500761 in free_bound_columns (cl_statement=0x82728e8) at SQLBindCol.c:85
#3  0x40502477 in CLFreeHandle (handle_type=3, handle=0x82728e8) at SQLFreeHandle.c:86
#4  0x400464d6 in __SQLFreeHandle (handle_type=3, handle=0x8274d10) at SQLFreeHandle.c:408
#5  0x400469ac in SQLFreeStmt (statement_handle=0x8274d10, option=1) at SQLFreeStmt.c:200
#6  0x0809ef62 in _free_odbc_result (rsrc=0x826c45c) at php_odbc.c:182
#7  0x08125805 in list_entry_destructor (ptr=0x826c45c) at zend_list.c:177
#8  0x0812439e in zend_hash_del_key_or_index (ht=0x821cf7c, arKey=0x0, nKeyLength=0, h=2, flag=1)
    at zend_hash.c:512
#9  0x08125591 in _zend_list_delete (id=2) at zend_list.c:56
#10 0x080a2921 in zif_odbc_close (ht=1, return_value=0x827f8b4, this_ptr=0x0, return_value_used=0)
    at php_odbc.c:2237
#11 0x0813da81 in execute (op_array=0x8267674) at ./zend_execute.c:1598
#12 0x0812041c in zend_execute_scripts (type=8, retval=0x0, file_count=3) at zend.c:810
#13 0x0806f649 in php_execute_script (primary_file=0xbffff8d0) at main.c:1381
#14 0x0806cf9c in main (argc=2, argv=0xbffff974) at cgi_main.c:778
#15 0x4039d627 in __libc_start_main (main=0x806c794 <main>, argc=2, ubp_av=0xbffff974,
    init=0x806aa44 <_init>, fini=0x818b750 <_fini>, rtld_fini=0x4000dcc4 <_dl_fini>,
    stack_end=0xbffff96c) at ../sysdeps/generic/libc-start.c:129
(gdb)
 
PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Wed May 18 10:05:45 2022 UTC